:root{color:#f4efe6;background:radial-gradient(circle at top left,rgba(255,166,77,.18),transparent 28%),radial-gradient(circle at right 20%,rgba(78,143,110,.18),transparent 24%),linear-gradient(160deg,#12211d,#172f28 52%,#0d1714);font-family:Segoe UI,PingFang SC,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--panel: rgba(12, 23, 19, .74);--panel-border: rgba(255, 240, 219, .12);--accent: #ffb54d;--accent-deep: #ff8b36;--success: #4fa878;--danger: #ff6b57;--warning: #f1c453;--text-muted: rgba(244, 239, 230, .68)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}.page-shell{min-height:100vh;padding:32px}.hero-panel,.dashboard-grid{max-width:1320px;margin:0 auto}.hero-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:stretch}.hero-copy,.login-card,.session-card,.summary-card,.panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--panel);border:1px solid var(--panel-border);border-radius:28px;box-shadow:0 18px 60px #00000038}.hero-copy{padding:44px}.eyebrow{margin:0 0 18px;font-size:12px;letter-spacing:.32em;color:var(--accent)}.hero-copy h1{margin:0;font-size:clamp(38px,6vw,72px);line-height:.94}.hero-text{max-width:560px;margin:24px 0 0;font-size:18px;color:var(--text-muted)}.hero-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-meta span{padding:10px 16px;border-radius:999px;background:#ffb54d1f;color:#ffe2bc}.login-card,.session-card{padding:28px;display:flex;flex-direction:column;gap:14px}.login-card h2,.session-card h2,.panel-header h3{margin:0}.login-card label{display:flex;flex-direction:column;gap:8px;color:var(--text-muted)}.login-card input{border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px 16px;background:#ffffff0a;color:#fff5e8}button{border:0;border-radius:16px;padding:14px 18px;cursor:pointer;transition:transform .2s ease,opacity .2s ease}button:hover{transform:translateY(-1px)}.login-card button,.secondary-button{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#231608;font-weight:700}.ghost-button{background:transparent;color:#fff5e8;border:1px solid rgba(255,255,255,.16)}.hint,.session-label,.session-subtitle,.panel-header span{color:var(--text-muted)}.error{margin:0;color:#ffc7bc}.success{margin:0;color:#bff4d6}.tab-row{display:flex;flex-wrap:wrap;gap:12px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}.summary-card{padding:24px}.summary-card p{margin:0;color:var(--text-muted)}.summary-card strong{display:block;margin-top:12px;font-size:40px}.summary-card[data-tone=danger] strong{color:var(--danger)}.summary-card[data-tone=warning] strong{color:var(--warning)}.summary-card[data-tone=accent] strong{color:var(--accent)}.summary-card[data-tone=success] strong{color:var(--success)}.panel{padding:24px}.panel-wide{grid-column:span 2}.panel-full,.panel-detail{grid-column:span 3}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.todo-table{width:100%;border-collapse:collapse}.todo-table th,.todo-table td{padding:14px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}.todo-table thead th{color:var(--text-muted);font-size:13px;font-weight:600}.todo-table tbody tr{transition:background .2s ease}.todo-table tbody tr:hover{background:#ffffff0a}.is-selected-row{background:#ffb54d1f}.category-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.category-list li{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:16px;background:#ffffff0a}.empty-state{color:var(--text-muted);text-align:center}.remark-cell input{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;background:#ffffff0a;color:#fff5e8}.action-cell{display:flex;flex-wrap:wrap;gap:8px}.detail-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-block{padding:20px;border-radius:20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.detail-block h4{margin:0 0 14px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.detail-grid div{min-width:0}.detail-grid dt,.detail-label{margin:0 0 6px;color:var(--text-muted);font-size:13px}.detail-grid dd{margin:0;word-break:break-word}.description-box{margin-top:18px;padding:16px;border-radius:16px;background:#00000029}.description-box p:last-child{margin-bottom:0}.description-text{white-space:pre-wrap}.rating-card{padding:18px;border-radius:16px;background:#4fa8781f;border:1px solid rgba(79,168,120,.24)}.rating-card strong{font-size:30px}.remark-textarea{width:100%;min-height:104px;resize:vertical;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:12px 14px;background:#ffffff0a;color:#fff5e8}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.record-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.record-list li{display:flex;justify-content:space-between;gap:16px;padding:16px;border-radius:16px;background:#00000024}.record-list li p{margin:8px 0 0;color:var(--text-muted)}.record-list li span{color:var(--text-muted);white-space:nowrap}.empty-detail{padding:48px 16px;text-align:center;color:var(--text-muted)}.vote-admin-layout{align-items:start}.panel-tall{min-height:100%}.list-card,.vote-list,.option-list,.result-list{list-style:none;margin:0;padding:0}.vote-list{display:flex;flex-direction:column;gap:12px}.vote-list li,.option-list li,.result-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.vote-list li{cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.vote-list li:hover{background:#ffffff12;border-color:#ffb54d3d;transform:translateY(-1px)}.vote-list li.is-selected{background:#ffb54d1f;border-color:#ffb54d52}.vote-list li p,.option-list li p,.result-list li p{margin:6px 0 0;color:var(--text-muted)}.subject-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.subject-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.subject-list li p{margin:6px 0 0;color:var(--text-muted)}.subject-action-editor{min-width:280px;display:flex;flex-direction:column;gap:10px}.subject-action-editor label{display:flex;flex-direction:column;gap:6px;color:var(--text-muted)}.subject-action-editor input,.subject-action-editor select{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 12px;background:#ffffff0a;color:#fff5e8}.badge{flex:none;padding:8px 12px;border-radius:999px;background:#ffb54d1f;color:#ffe2bc;font-size:12px}.slim-header{margin-bottom:12px}.slim-header h4{margin-bottom:0}.option-list,.result-list,.form-stack{display:flex;flex-direction:column;gap:12px}.house-list strong{font-size:18px}.house-filter-stack{margin-bottom:18px}.house-link-hint{margin-top:14px}.stats-grid,.inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card{padding:18px;border-radius:18px;background:#00000029;border:1px solid rgba(255,255,255,.06)}.metric-card strong{display:block;font-size:28px}.metric-card p{margin:6px 0 0;color:var(--text-muted)}.form-stack label{display:flex;flex-direction:column;gap:8px;color:var(--text-muted)}.form-stack input,.form-stack textarea,.form-stack select{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:12px 14px;background:#ffffff0a;color:#fff5e8}.form-stack textarea{resize:vertical}.toggle-line{flex-direction:row!important;align-items:center;gap:10px}.toggle-line input{width:auto}.option-editor{padding:18px}.option-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.option-edit-row .ghost-button{white-space:nowrap}@media(max-width:1024px){.hero-panel,.dashboard-grid{grid-template-columns:1fr}.panel-wide,.panel-detail,.panel-full{grid-column:span 1}.detail-layout,.detail-grid,.stats-grid,.inline-grid,.option-edit-row{grid-template-columns:1fr}.subject-list li,.record-list li{flex-direction:column;align-items:flex-start}.subject-action-editor{min-width:100%}}@media(max-width:640px){.page-shell{padding:16px}.hero-copy,.login-card,.session-card,.summary-card,.panel{border-radius:22px}.hero-copy{padding:28px}.todo-table{display:block;overflow-x:auto}}
