.diamond{flex-shrink:0;display:inline-block;transform:rotate(45deg)}.diamond-empty{border:1px solid var(--rule-strong)}.diamond-filled{background:var(--accent);border:1px solid var(--accent)}.diamond-current{background:var(--charcoal);border:1px solid var(--charcoal)}.diamond-inactive{border:1px solid var(--greige)}.shell{height:100dvh;overflow:hidden}.shell-header{padding:18px var(--pad-mobile);border-bottom:1px solid var(--rule);align-items:center;display:flex}.shell-header-logo{width:104px;height:auto;display:block}.shell-main{flex-direction:column;height:100dvh;display:flex}.shell-content{flex:1;min-height:0;padding-bottom:84px;overflow-y:auto}.shell-sidebar{display:none}.shell-nav-mobile{border-top:1px solid var(--rule);background:var(--ivory);grid-template-columns:repeat(5,1fr);height:60px;display:grid;position:fixed;inset:auto 0 0}.shell-tab{color:var(--muted);transition:color var(--duration) var(--easing);flex-direction:column;justify-content:center;align-items:center;gap:7px;text-decoration:none;display:flex}.shell-tab-label{letter-spacing:.1em;white-space:nowrap;font-size:10px;transform:scale(.92)}.shell-tab.is-active{color:var(--charcoal)}@media (width>=768px){.shell{display:flex}.shell-sidebar{border-right:1px solid var(--rule);flex-direction:column;flex-shrink:0;width:232px;height:100%;padding:28px 24px;display:flex;overflow-y:auto}.shell-logo{width:120px;height:auto;margin-bottom:36px;display:block}.shell-nav-desktop{flex-direction:column;gap:18px;display:flex}.shell-nav-link{min-height:var(--tap-min);letter-spacing:.08em;color:var(--muted);transition:color var(--duration) var(--easing);align-items:center;gap:12px;font-size:14px;text-decoration:none;display:flex}.shell-nav-link:hover{color:var(--taupe)}.shell-nav-link.is-active{color:var(--charcoal)}.shell-account{letter-spacing:.1em;color:var(--muted);margin-top:auto;font-size:11px;line-height:2}.shell-main{flex:1;min-width:0}.shell-header{display:none}.shell-content{padding-bottom:0}.shell-nav-mobile{display:none}}.page{padding:28px var(--pad-mobile) 8px;max-width:1440px}@media (width>=768px){.page{padding:40px 48px}}.page-date{font-family:var(--font-label);letter-spacing:.2em;color:var(--muted);font-size:11px}.page-lead{max-width:none;font-family:var(--font-mincho);letter-spacing:.04em;color:var(--charcoal);margin:14px 0 0;font-size:26px;font-weight:500;line-height:1.5}@media (width>=768px){.page-lead{font-size:34px}}.skeleton{background:var(--placeholder-fill);border-radius:var(--radius)}.skeleton-text{background:var(--rule);border-radius:var(--radius);height:1em}.admin{min-height:100dvh}.admin-header{padding:14px var(--pad-mobile);border-bottom:1px solid var(--rule);background:var(--paper);justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-brand{align-items:center;gap:12px;display:flex}.admin-brand img{width:100px;height:auto;display:block}.admin-account{white-space:nowrap;align-items:center;gap:14px;font-size:12px;display:flex}.admin-who{color:var(--taupe)}@media (width<=520px){.admin-who{display:none}}.admin-logout{border:none;border-bottom:1px solid var(--rule-strong);font-family:var(--font-gothic);cursor:pointer;background:0 0;padding:0 0 2px;font-size:12px}.admin-nav{padding:0 var(--pad-mobile);border-bottom:1px solid var(--rule);background:var(--paper);gap:4px;display:flex;overflow-x:auto}.admin-nav-item{color:var(--muted);min-height:var(--tap-min);transition:color var(--duration) var(--easing);border-bottom:2px solid #0000;flex-shrink:0;align-items:center;padding:12px 14px;font-size:13px;text-decoration:none;display:inline-flex}.admin-nav-item:hover{color:var(--taupe)}.admin-nav-item.is-active{color:var(--charcoal);border-bottom-color:var(--charcoal)}.admin-main{padding:24px var(--pad-mobile) 64px;max-width:1100px}.admin-page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.admin-page-head h1{font-size:20px}.admin-count{font-family:var(--font-label);color:var(--muted);font-size:12px}.admin-table-wrap{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px;line-height:1.5}.admin-table th{text-align:left;border-bottom:1px solid var(--rule);color:var(--muted);font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:400}.admin-table td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:10px 14px}.admin-table tr:last-child td{border-bottom:none}.admin-table .num{font-family:var(--font-label);text-align:right;white-space:nowrap}.admin-table .nowrap{white-space:nowrap}.admin-cell-tags{white-space:nowrap;flex-wrap:nowrap;gap:6px;display:flex}.admin-filters{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.admin-filters select,.admin-filters input{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius);min-height:40px;font-family:var(--font-gothic);color:var(--body);padding:9px 12px;font-size:13px}.admin-filters input{flex:1;min-width:160px}.admin-btn{border:1px solid var(--charcoal);border-radius:var(--radius);background:var(--charcoal);min-height:40px;color:var(--ivory);font-family:var(--font-gothic);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:13px;display:inline-flex}.admin-btn-ghost{color:var(--charcoal);background:0 0}.admin-btn:disabled{background:var(--stone);border-color:var(--stone);color:var(--paper);cursor:not-allowed}.admin-btn-danger{border-color:var(--rule-strong);color:var(--taupe);background:0 0}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-form{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:20px;padding:16px;display:flex}.admin-form label{color:var(--taupe);margin-bottom:6px;font-size:12px;display:block}.admin-form input,.admin-form select{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius);min-height:40px;font-family:var(--font-gothic);color:var(--body);padding:9px 12px;font-size:13px}.admin-form-field{flex:1;min-width:160px}.admin-form-field input,.admin-form-field select{width:100%}.admin-empty{text-align:center;color:var(--taupe);padding:32px 16px;font-size:13px}.admin-detail-section{margin-top:28px}.admin-detail-section h2{margin-bottom:12px;font-size:15px}.admin-chiplist{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-chip{border:1px solid var(--rule-strong);border-radius:var(--radius-pill);color:var(--taupe);align-items:center;gap:8px;padding:5px 8px 5px 14px;font-size:12px;display:inline-flex}.admin-chip button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:13px;line-height:1}.admin-chip button:hover{color:var(--charcoal)}.admin-notice{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);color:var(--taupe);margin-top:12px;padding:10px 14px;font-size:12px}.admin-warning{border:1px solid var(--rule-strong);border-radius:var(--radius);color:var(--charcoal);margin-top:12px;padding:12px 14px;font-size:13px}.mono{font-family:var(--font-label);letter-spacing:.08em}@media (width>=768px){.admin-header,.admin-nav{padding-left:48px;padding-right:48px}.admin-main{padding:32px 48px 64px}}.course-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);margin-bottom:12px}.course-head{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.course-toggle{font-family:var(--font-gothic);color:var(--charcoal);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:4px 0;font-size:14px;display:inline-flex}.course-title{font-family:var(--font-mincho);font-size:15px}.course-note{max-width:none;color:var(--taupe);margin:0;padding:0 16px 12px;font-size:12px;line-height:1.7}.course-meta{color:var(--muted);white-space:nowrap;font-size:12px}.course-publish{color:var(--taupe);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;margin-left:auto;font-size:12px;display:inline-flex}.course-body{border-top:1px solid var(--rule);padding:0 16px 16px}.chapter{border-bottom:1px solid var(--rule);padding:14px 0}.chapter:last-of-type{border-bottom:none}.chapter-head{align-items:center;gap:12px;display:flex}.chapter-title{font-size:14px;font-family:var(--font-mincho);flex:1}.lesson-list{margin:10px 0 0;padding:0 0 0 8px;list-style:none}.lesson-row{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.lesson-title{flex:1;min-width:120px}.lesson-note{color:var(--muted);white-space:nowrap;font-size:11px}.lesson-error{flex-basis:100%}.move-buttons{flex-direction:column;gap:2px;display:inline-flex}.move-buttons button{border:1px solid var(--rule-strong);border-radius:var(--radius);width:24px;height:20px;color:var(--taupe);cursor:pointer;background:0 0;padding:0;font-size:11px;line-height:1}.move-buttons button:disabled{color:var(--rule);border-color:var(--rule);cursor:not-allowed}.course-inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.course-inline-form input{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius);min-width:160px;min-height:36px;font-family:var(--font-gothic);flex:1;padding:8px 12px;font-size:13px}.room-list{margin:0;padding:0;list-style:none}.room-item{border-bottom:1px solid var(--rule)}.room-item.is-archived .room-item-name{color:var(--muted)}.room-item-head{align-items:center;gap:16px;padding:12px 0;display:flex}.room-item-name{min-width:0;color:var(--charcoal);font-family:var(--font-gothic);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:0;font-size:14px;display:flex}.room-archived{border:1px solid var(--rule-strong);border-radius:var(--radius-pill);color:var(--muted);padding:2px 10px;font-size:10px}.room-item-meta{color:var(--muted);flex-shrink:0;font-size:11px}.room-detail{padding:4px 0 24px}.room-block{margin-top:24px}.room-block>.label-en{margin-bottom:10px;display:block}.room-note{max-width:none;color:var(--muted);margin:0 0 12px;font-size:12px}.room-rules{margin:0 0 12px;padding:0;list-style:none}.room-rules li{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;padding:8px 0;font-size:13px;display:flex}.room-rule-form{margin-bottom:12px}.room-apply{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.room-preview{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px}.room-preview p{max-width:none;margin:0 0 8px;font-size:13px}.room-preview-note{color:var(--muted);font-size:12px}.room-invite-form{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;font-size:12px;display:flex}.room-invite-form input{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius);width:100px;font-family:var(--font-gothic);padding:8px 10px;font-size:13px}.room-invite-link{font-family:var(--font-label);overflow-wrap:anywhere;font-size:11px}.admin-lead{max-width:46em;color:var(--taupe);margin:0 0 20px;font-size:13px;line-height:1.8}.knowledge-columns{gap:32px;display:grid}@media (width>=1180px){.knowledge-columns{grid-template-columns:1.2fr 1fr;align-items:start;gap:40px}}.knowledge-form{margin-bottom:24px;display:block}.knowledge-form>.label-en{margin-bottom:12px;display:block}.knowledge-form .admin-form-field{margin-bottom:14px}.knowledge-body-field textarea{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius);width:100%;font-family:var(--font-gothic);color:var(--charcoal);resize:vertical;padding:10px 12px;font-size:13px;line-height:1.8}.knowledge-form-actions{align-items:center;gap:16px;display:flex}.knowledge-list{margin:0;padding:0;list-style:none}.knowledge-list li{border-top:1px solid var(--rule);padding:14px 0}.knowledge-list li:last-child{border-bottom:1px solid var(--rule)}.knowledge-list li.is-disabled{opacity:.55}.knowledge-item-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.knowledge-item-title{color:var(--charcoal);font-size:14px}.knowledge-item-date{color:var(--muted);font-family:var(--font-label);flex-shrink:0;font-size:10px}.knowledge-item-body{max-width:none;color:var(--body);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:6px 0;font-size:12px;line-height:1.8;display:-webkit-box;overflow:hidden}.knowledge-item-keywords{max-width:none;color:var(--muted);margin:0 0 8px;font-size:11px}.knowledge-item-actions{flex-wrap:wrap;gap:10px;display:flex}.knowledge-logs-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.knowledge-filter{color:var(--taupe);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.log-list{margin:0;padding:0;list-style:none}.log-list li{border-top:1px solid var(--rule);padding:14px 0}.log-list li:last-child{border-bottom:1px solid var(--rule)}.log-meta{color:var(--muted);align-items:center;gap:10px;font-size:11px;display:flex}.log-badge{border:1px solid var(--rule-strong);border-radius:var(--radius-pill);color:var(--taupe);padding:2px 10px;font-size:10px}.log-question{max-width:none;color:var(--charcoal);overflow-wrap:anywhere;margin:6px 0;font-size:13px;line-height:1.8}.log-used{max-width:none;color:var(--muted);margin:0 0 8px;font-size:11px}.log-action{border:none;border-bottom:1px solid var(--rule-strong);color:var(--charcoal);font-family:var(--font-gothic);cursor:pointer;transition:color var(--duration) var(--easing), border-color var(--duration) var(--easing);background:0 0;padding:0 0 2px;font-size:12px}.log-action:hover{color:var(--taupe);border-color:var(--taupe)}.send-block{border-bottom:1px solid var(--rule);margin-bottom:40px;padding-bottom:32px}.send-block:last-child{border-bottom:none}.send-block>.label-en{margin-bottom:8px;display:block}.send-line-note{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:12px 16px}.send-form{max-width:640px;display:block}.send-form .admin-form-field{margin-bottom:14px}.send-body-field textarea{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius);width:100%;font-family:var(--font-gothic);color:var(--charcoal);resize:vertical;padding:10px 12px;font-size:13px;line-height:1.8}.send-preview{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);max-width:640px;margin-top:16px;padding:16px 18px}.send-preview p{max-width:none;margin:0 0 8px;font-size:13px;line-height:1.8}.send-preview-note{color:var(--muted);font-size:12px!important}.send-submit{margin-top:8px}.send-result{background:var(--accent-soft);border-radius:var(--radius);max-width:640px;color:var(--accent);margin:12px 0 0;padding:12px 16px;font-size:13px}.reminder-list{max-width:720px;margin:0 0 20px;padding:0;list-style:none}.reminder-list li{border-top:1px solid var(--rule);padding:16px 0}.reminder-list li:last-of-type{border-bottom:1px solid var(--rule)}.reminder-list li.is-disabled{opacity:.6}.reminder-head{align-items:center;gap:12px;margin-bottom:6px;display:flex}.reminder-name{color:var(--charcoal);font-size:14px}.reminder-cond{max-width:none;color:var(--taupe);margin:0 0 8px;font-size:12px}.reminder-template{max-width:none;color:var(--charcoal);margin:0 0 10px;font-size:13px;line-height:1.8}.reminder-body{color:var(--body);font-size:12px}.reminder-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.reminder-sent{color:var(--muted);font-size:11px}.reminder-add{margin-top:4px}.reminder-form{max-width:640px;margin-top:16px;display:block}.reminder-form .admin-form-field{margin-bottom:14px}.reminder-form-actions{align-items:center;gap:16px;display:flex}.reminder-preview{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);margin:12px 0;padding:14px 16px}.reminder-preview p{max-width:none;margin:6px 0 0;font-size:13px;line-height:1.8}.reminder-logs{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);margin-top:12px;padding:12px 16px}.reminder-summary{max-width:none;color:var(--taupe);margin:6px 0 10px;font-size:12px}.reminder-logs ul{margin:0;padding:0;list-style:none}.reminder-logs li{border:none;justify-content:space-between;gap:16px;padding:6px 0;font-size:12px;display:flex}.reminder-log-date{color:var(--muted);font-family:var(--font-label);font-size:10px}.migration-status{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:24px;padding:16px 18px}.migration-figures{flex-wrap:wrap;gap:28px;margin-top:10px;font-size:13px;display:flex}.migration-figures strong{font-size:15px}.migration-figures .is-attention strong{color:var(--accent)}.migration-note{max-width:none;color:var(--muted);margin:10px 0 0;font-size:11px}.code-users-row td{background:var(--paper)}.code-users{margin:0;padding:4px 0;list-style:none}.code-users li{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:16px;padding:6px 0;font-size:12px;display:flex}.code-users li:last-child{border-bottom:none}.code-user-name{min-width:8em;color:var(--charcoal)}.code-user-mail{color:var(--muted);font-family:var(--font-label);font-size:11px}.code-user-state{color:var(--taupe);margin-left:auto;font-size:11px}.chat{height:100%;min-height:0;display:flex}@media (width<=1179px){.chat-list-only .conv,.chat-conv-open .thread-list{display:none}.thread-list,.conv{flex:1;min-width:0}}@media (width>=1180px){.thread-list{border-right:1px solid var(--rule);flex:0 0 280px}.conv{flex:1;min-width:0}.conv-back{display:none}}.thread-list{flex-direction:column;min-height:0;display:flex;overflow-y:auto}.thread-list-head{padding:26px 24px 18px}.thread-search{padding:0 24px 18px}.thread-search input{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius);width:100%;font-family:var(--font-gothic);color:var(--charcoal);padding:10px 14px;font-size:13px}.thread-search input::placeholder{color:var(--stone)}.thread-rows,.thread-hits{flex-direction:column;display:flex}.thread-row{border:none;border-top:1px solid var(--rule);width:100%;font-family:var(--font-gothic);text-align:left;cursor:pointer;transition:background var(--duration) var(--easing);background:0 0;flex-direction:column;gap:4px;padding:18px 24px;display:flex}.thread-rows .thread-row:last-child{border-bottom:1px solid var(--rule)}.thread-row:hover,.thread-row.is-selected{background:var(--paper)}.thread-row-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.thread-row-name{color:var(--charcoal);letter-spacing:.02em;font-size:15px}.thread-row-time{color:var(--muted);font-family:var(--font-label);font-size:10px}.thread-row-body{color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.7;display:-webkit-box;overflow:hidden}.thread-row-meta{align-items:center;gap:12px;display:flex}.thread-row-unread{color:var(--charcoal);letter-spacing:.08em;font-size:11px}.thread-row-archived{color:var(--muted);font-size:11px}.thread-empty{color:var(--muted);padding:8px 24px 24px;font-size:13px}.thread-hit{border:none;border-top:1px solid var(--rule);width:100%;font-family:var(--font-gothic);text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:4px;padding:14px 24px;display:flex}.thread-hit:hover{background:var(--paper)}.thread-hit-meta{color:var(--muted);font-size:11px}.thread-hit-body{color:var(--body);font-size:13px;line-height:1.7}.conv{flex-direction:column;min-height:0;display:flex}.conv-empty{color:var(--muted);justify-content:center;align-items:center;font-size:13px}.conv-head{border-bottom:1px solid var(--rule);align-items:center;gap:14px;padding:16px 20px;display:flex}@media (width>=1180px){.conv-head{padding:22px 32px}}.conv-back{min-width:32px;min-height:32px;color:var(--charcoal);cursor:pointer;background:0 0;border:none;font-size:16px}.conv-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}@media (width>=1180px){.conv-title{font-size:20px}}.conv-head-meta{flex-shrink:0;align-items:center;gap:14px;display:flex}.conv-task-count{color:var(--taupe);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.conv-members{color:var(--muted);font-size:11px}.conv-task-label-long,.conv-members{display:none}@media (width>=1180px){.conv-task-label-long,.conv-members{display:inline}.conv-task-label-short{display:none}}.conv-scroll{flex-direction:column;flex:1;gap:12px;min-height:0;padding:18px 20px;display:flex;overflow-y:auto}@media (width>=1180px){.conv-scroll{padding:20px 32px}}.conv-blank{color:var(--muted);font-size:13px}.conv-date{align-items:center;gap:12px;margin:6px 0 12px;display:flex}.conv-date:before,.conv-date:after{content:"";background:var(--rule);flex:1;height:1px}.conv-date span{color:var(--muted);font-family:var(--font-label);letter-spacing:.2em;font-size:10px}.msg{transition:background var(--duration) var(--easing);flex-direction:column;align-items:flex-start;margin-bottom:12px;display:flex}.msg-mine{align-items:flex-end}.msg.is-highlighted{background:var(--placeholder-fill)}.msg-author{color:var(--taupe);margin-bottom:6px;font-size:11px}.msg-bubble{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);max-width:78%;color:var(--body);font-family:var(--font-gothic);text-align:left;cursor:pointer;transition:border-color var(--duration) var(--easing);flex-direction:column;gap:8px;padding:12px 16px;font-size:14px;line-height:1.8;display:flex}@media (width>=1180px){.msg-bubble{max-width:60%;padding:11px 16px}}.msg-mine .msg-bubble{background:var(--charcoal);border-color:var(--charcoal);color:var(--ivory)}.msg-bubble.is-selected{border-color:var(--charcoal)}.msg-body{white-space:pre-wrap;overflow-wrap:anywhere}.msg-attachment{align-items:center;gap:8px;font-size:12px;display:inline-flex}.msg-attachment-link{color:var(--charcoal);border-bottom:1px solid var(--rule-strong);margin-top:6px;font-size:11px;text-decoration:none}.msg-mine .msg-attachment-link{color:var(--taupe)}.msg-task-mark{color:var(--accent);align-items:center;gap:8px;margin-top:6px;font-size:11px;display:flex}.msg-time{color:var(--muted);font-family:var(--font-label);margin-top:4px;font-size:10px}.task-panel{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);animation:task-panel-in var(--duration) var(--easing);flex-direction:column;gap:14px;margin:4px 0 12px;padding:16px 18px;display:flex}@keyframes task-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.task-panel-submit{justify-content:flex-start}.task-panel-note{color:var(--muted);margin:4px 0 12px;font-size:12px}.due-picker{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.due-picker-label{color:var(--taupe);font-size:12px}.due-picker-value{align-items:center;gap:12px;display:flex}.due-picker-value input{border:none;border-bottom:1px solid var(--rule-strong);color:var(--charcoal);font-family:var(--font-gothic);background:0 0;padding:6px 8px;font-size:13px}.due-picker-clear{color:var(--taupe);font-family:var(--font-gothic);cursor:pointer;background:0 0;border:none;font-size:11px;text-decoration:underline}.conv-input{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 20px;display:flex}@media (width>=1180px){.conv-input{padding:18px 32px}}.conv-input>input[type=text]{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius);min-width:0;font-family:var(--font-gothic);color:var(--charcoal);flex:1;padding:12px 16px;font-size:14px}.conv-input>input[type=text]::placeholder{color:var(--stone)}.conv-attach{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--rule-strong);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.conv-attach input{display:none}.conv-attach:focus-within{outline:2px solid var(--charcoal);outline-offset:3px}.conv-send{width:var(--tap-min);height:var(--tap-min);background:var(--charcoal);border:1px solid var(--charcoal);border-radius:var(--radius);color:var(--ivory);cursor:pointer;font-size:15px}@media (width>=1180px){.conv-send,.conv-attach{width:var(--tap-min-pc);height:var(--tap-min-pc)}}.conv-send:disabled{background:var(--stone);border-color:var(--stone);cursor:not-allowed}.conv-upload-error{flex-basis:100%}.conv-archived{border-top:1px solid var(--rule);color:var(--muted);padding:16px 20px;font-size:12px}.skeleton-rows{flex-direction:column;gap:14px;padding:18px 24px;display:flex}.skeleton-rows:before,.skeleton-rows:after{content:"";background:var(--rule);height:1em}.skeleton-rows:after{width:60%}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.conv-ai-notice{border-bottom:1px solid var(--rule);color:var(--taupe);letter-spacing:.04em;align-items:center;gap:10px;padding:10px 20px;font-size:11px;display:flex}@media (width>=1180px){.conv-ai-notice{padding:10px 32px}}.conv-ai-intro p{color:var(--taupe);margin:0 0 12px;font-size:13px;line-height:1.9}.conv-ai-intro-note{color:var(--muted)!important;font-size:12px!important}.conv-ai-error{margin-top:8px}.msg-waiting{opacity:.85}.msg-bubble-skeleton{cursor:default;gap:10px;width:60%;max-width:260px}.skeleton-line{background:var(--rule);height:1em;animation:1.4s ease-in-out infinite skeleton-fade;display:block}.skeleton-line-short{width:60%}@keyframes skeleton-fade{0%,to{opacity:1}50%{opacity:.45}}.auth{justify-content:center;align-items:center;min-height:100dvh;padding:48px 32px;display:flex}.auth-inner{width:100%;max-width:380px}.auth-header{text-align:center}.auth-logo{width:132px;height:auto;margin:0 auto;display:block}.auth-tagline{font-family:var(--font-label);letter-spacing:.35em;color:var(--muted);margin-top:14px;font-size:10px}.auth-divider{align-items:center;gap:12px;margin:36px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--rule);flex:1;height:1px}.auth-title{text-align:center;margin-bottom:24px;font-size:22px}.auth-lead{color:var(--taupe);max-width:none;margin-bottom:28px;font-size:13px}.auth-submit{width:100%;margin-top:32px;padding:16px 20px}.auth-sub-link{text-align:center;margin-top:24px;font-size:12px}.auth-sub-link a{color:var(--taupe);border-bottom:1px solid var(--rule-strong);padding-bottom:2px;text-decoration:none}.auth-sub-link a:hover{color:var(--charcoal);border-color:var(--charcoal)}.auth-footnote{max-width:none;color:var(--muted);text-align:center;margin:48px 0 0;font-size:12px;line-height:1.8}.auth-error{margin-top:20px}.invite-lead{color:var(--taupe);margin:0 0 18px;font-size:13px}.invite-card{margin-bottom:24px;padding:22px 24px}.invite-room{color:var(--charcoal);font-family:var(--font-mincho);letter-spacing:.04em;font-size:20px}.invite-members{color:var(--muted);margin-top:8px;font-size:12px}.invite-submit{width:100%;text-decoration:none}.invite-note{color:var(--taupe);margin:16px 0;font-size:12px}.invite-error{margin-top:12px}.line-link-title{margin:10px 0 14px;font-size:22px}@media (width>=768px){.line-link-title{font-size:30px}}.line-link-lead{max-width:34em;color:var(--taupe);margin-bottom:24px;font-size:13px;line-height:1.9}.line-link-card{max-width:480px;padding:22px 24px}.line-link-state{color:var(--charcoal);align-items:center;gap:12px;font-size:15px;display:flex}.line-link-date{max-width:none;color:var(--muted);margin:8px 0 0;font-size:11px}.line-link-note{max-width:none;color:var(--taupe);margin:14px 0 0;font-size:12px;line-height:1.8}.line-link-submit{width:100%;margin-top:18px;text-decoration:none}.line-link-unlink{border:none;border-bottom:1px solid var(--rule-strong);color:var(--taupe);font-family:var(--font-gothic);cursor:pointer;background:0 0;margin-top:16px;padding:0 0 2px;font-size:12px}.line-link-unlink:hover{color:var(--charcoal);border-color:var(--charcoal)}.line-link-error{margin-top:12px}.line-link-foot{max-width:34em;color:var(--muted);margin:20px 0 24px;font-size:12px;line-height:1.8}.mypage-head{margin-bottom:28px}.mypage-name{white-space:nowrap;margin:10px 0 14px;font-size:22px}@media (width>=768px){.mypage-name{font-size:30px}}.mypage-badges{flex-wrap:wrap;gap:10px;display:flex}.mypage-columns{gap:32px;display:grid}@media (width>=1180px){.mypage-columns{grid-template-columns:1.3fr 1fr;align-items:start;gap:48px}}.mypage-side{flex-direction:column;gap:28px;min-width:0;display:flex}.mypage-progress-bar{margin:18px 0 14px}.mypage-progress-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.mypage-empty{color:var(--muted);margin:16px 0 0;font-size:13px}.mypage-goal{padding:22px 24px}.mypage-card-skeleton{height:160px}.mypage-goal-amount{max-width:none;color:var(--charcoal);font-family:var(--font-mincho);letter-spacing:.04em;margin:14px 0 10px;font-size:20px;line-height:1.5}.mypage-goal-note{max-width:none;color:var(--taupe);margin:0 0 16px;font-size:13px;line-height:1.8}.mypage-goal-edit{border:none;border-bottom:1px solid var(--rule-strong);color:var(--charcoal);font-family:var(--font-gothic);cursor:pointer;transition:color var(--duration) var(--easing), border-color var(--duration) var(--easing);background:0 0;padding:0 0 2px;font-size:12px}.mypage-goal-edit:hover{color:var(--taupe);border-color:var(--taupe)}.mypage-goal-label{color:var(--taupe);margin:14px 0 8px;font-size:12px;display:block}.mypage-goal-input{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius);width:100%;font-family:var(--font-gothic);color:var(--charcoal);padding:14px 16px;font-size:14px}.mypage-goal-input[aria-invalid=true]{border-color:var(--error)}.mypage-goal-error{margin:8px 0 0}.mypage-goal-actions{align-items:center;gap:16px;margin-top:18px;display:flex}.mypage-goal-cancel{color:var(--taupe);font-family:var(--font-gothic);cursor:pointer;background:0 0;border:none;font-size:12px;text-decoration:underline}.mypage-setting-list{margin:10px 0 0;padding:0;list-style:none}.mypage-setting-list li{border-top:1px solid var(--rule)}.mypage-setting-list li:last-child{border-bottom:1px solid var(--rule)}.mypage-setting-list a,.mypage-setting-list button{width:100%;min-height:var(--tap-min);color:var(--charcoal);font-family:var(--font-gothic);text-align:left;cursor:pointer;transition:color var(--duration) var(--easing);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;font-size:14px;text-decoration:none;display:flex}.mypage-setting-list a:hover,.mypage-setting-list button:hover{color:var(--taupe)}.mypage-setting-list span:last-child{color:var(--muted)}.mypage-name-form{margin-top:10px}.mypage-name-note{max-width:none;color:var(--muted);margin:16px 0 0;font-size:12px}.notifications-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.notifications-title{margin-top:10px;font-size:22px}@media (width>=768px){.notifications-title{font-size:30px}}.notifications-readall{border:none;border-bottom:1px solid var(--rule-strong);color:var(--charcoal);font-family:var(--font-gothic);cursor:pointer;transition:color var(--duration) var(--easing), border-color var(--duration) var(--easing);background:0 0;flex-shrink:0;padding:0 0 2px;font-size:12px}.notifications-readall:hover{color:var(--taupe);border-color:var(--taupe)}.notifications-skeleton{max-width:18em}.notifications-count{margin-bottom:12px;display:block}.notifications-empty{flex-direction:column;align-items:flex-start;gap:14px;padding:32px 0;display:flex}.notifications-empty p{color:var(--muted);margin:0;font-size:14px}.notice-list{max-width:720px;margin:0;padding:0;list-style:none}.notice{border-top:1px solid var(--rule)}.notice:last-child{border-bottom:1px solid var(--rule)}.notice-button{width:100%;min-height:var(--tap-min);font-family:var(--font-gothic);text-align:left;cursor:pointer;transition:background var(--duration) var(--easing);background:0 0;border:none;gap:14px;padding:14px 4px;display:flex}.notice-button:hover{background:var(--paper)}.notice-mark{flex-shrink:0;padding-top:6px}.notice-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notice-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.notice-title{color:var(--charcoal);font-size:14px;line-height:1.7}.notice.is-read .notice-title{color:var(--muted)}.notice-time{color:var(--muted);font-family:var(--font-label);flex-shrink:0;font-size:10px}.notice-body{color:var(--taupe);overflow-wrap:anywhere;font-size:12px;line-height:1.7}.notice.is-read .notice-body{color:var(--muted)}.notice-go{color:var(--charcoal);font-size:11px}.notice.is-read .notice-go{color:var(--muted)}.dashboard-news .notice-list{margin-top:12px}.dashboard-news .notice-button{padding:12px 4px}.dashboard-news-more{margin-top:14px;font-size:12px;display:inline-block}.tasks-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.tasks-title{margin-top:10px;font-size:22px}@media (width>=768px){.tasks-title{font-size:30px}}.tasks-count{color:var(--taupe);flex-shrink:0;font-size:12px}.tasks-skeleton{max-width:22em}.tasks-empty{flex-direction:column;align-items:flex-start;gap:14px;padding:32px 0;display:flex}.tasks-empty p{color:var(--muted);margin:0;font-size:14px}.tasks-columns{gap:32px;display:grid}@media (width>=1180px){.tasks-columns{grid-template-columns:1.35fr 1fr;gap:48px}}.tasks-col{flex-direction:column;gap:14px;min-width:0;display:flex}.tasks-col-empty{color:var(--muted);margin:0;font-size:13px}.task-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.task-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);gap:14px;padding:14px 16px;display:flex}@media (width>=1180px){.task-card{gap:16px;padding:16px 18px}}.task-check{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:flex-start;width:24px;min-height:24px;padding:7px 0 0;display:flex}.task-main{flex:1;min-width:0}.task-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.task-origin,.due-label{color:var(--taupe);font-size:11px}.task-body{max-width:none;color:var(--charcoal);white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 8px;font-size:15px;line-height:1.7}.task-source{border:none;border-bottom:1px solid var(--rule-strong);color:var(--charcoal);font-family:var(--font-gothic);cursor:pointer;transition:color var(--duration) var(--easing), border-color var(--duration) var(--easing);background:0 0;padding:0 0 2px;font-size:11px;display:inline-block}.task-source:hover{color:var(--taupe);border-color:var(--taupe)}.tasks-done-toggle{width:100%;min-height:var(--tap-min);color:var(--charcoal);font-family:var(--font-gothic);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:0;font-size:13px;display:flex}.tasks-done-toggle span:last-child{color:var(--muted);margin-left:auto}.tasks-done-label{display:none}.task-done-list{flex-direction:column;margin:0;padding:0;list-style:none;display:none}.task-done-list.is-open{display:flex}@media (width>=1180px){.tasks-done-toggle{display:none}.tasks-done-label{display:block}.task-done-list{display:flex}}.task-done-row{border-top:1px solid var(--rule);gap:14px;padding:14px 0;display:flex}.task-done-row:last-child{border-bottom:1px solid var(--rule)}.task-done-body{max-width:none;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.7}.task-done-meta{color:var(--muted);font-size:11px}.tasks-note{max-width:30em;color:var(--muted);margin:16px 0 0;font-size:12px}.tasks-footer{border-top:1px solid var(--rule);color:var(--taupe);justify-content:center;align-items:center;gap:12px;margin-top:32px;padding:18px 0;font-size:12px;display:flex}.contents-divider{margin:32px 0 24px}.contents-empty{color:var(--taupe);font-size:13px}.course-grid{grid-template-columns:1fr;gap:24px;display:grid}.course-card-link{color:inherit;text-decoration:none;display:block}.course-card{transition:border-color var(--duration) var(--easing);padding:0;overflow:hidden}.course-card-link:hover .course-card{border-color:var(--rule-strong)}.course-thumb{aspect-ratio:16/9;border-radius:0;justify-content:center;align-items:center;display:flex}.course-thumb span{font-family:var(--font-label);letter-spacing:.2em;color:var(--stone);font-size:10px}.course-card-body{padding:18px}.course-card-title{font-size:16px}.course-card-meta{max-width:none;color:var(--muted);margin:6px 0 0;font-size:12px}.course-dots{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}@media (width>=768px){.course-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1180px){.course-grid{grid-template-columns:repeat(4,1fr)}}.course-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;font-size:13px;display:flex}.course-title{font-size:30px;line-height:1.4}.course-description{margin-top:16px;font-size:14px}.course-progress-row{align-items:center;gap:12px;margin-top:20px;display:flex}.course-progress-row .progress{flex:1}.course-progress-count{font-family:var(--font-label);color:var(--muted);white-space:nowrap;font-size:11px}.chapter-block+.chapter-block{margin-top:32px}.chapter-heading{margin-bottom:4px;font-size:15px}.lesson-rows{margin:0;padding:0;list-style:none}.lesson-row-item{border-bottom:1px solid var(--rule)}.lesson-row-item.is-watching{background:var(--paper);margin:0 calc(var(--pad-mobile) * -1);padding:0 var(--pad-mobile)}.lesson-row-link{color:inherit;min-height:var(--tap-min);align-items:center;gap:16px;padding:18px 0;text-decoration:none;display:flex}.lesson-index{font-family:var(--font-label);letter-spacing:.15em;color:var(--muted);min-width:24px;font-size:11px}.lesson-main{flex:1;min-width:0}.lesson-name{font-size:15px;display:block}.lesson-watching{color:var(--taupe);margin-top:2px;font-size:11px;display:block}.lesson-duration{font-family:var(--font-label);color:var(--muted);white-space:nowrap;font-size:11px}@media (width>=768px){.lesson-row-item.is-watching{margin:0 -20px;padding:0 20px}}.dashboard-divider{margin:32px 0 24px}.dashboard-progress-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.lesson-count{color:var(--taupe);font-size:12px}.dashboard-bar-row{align-items:center;gap:12px;margin-top:10px;display:flex}.dashboard-bar-row .progress{flex:1}.dashboard-percent{font-family:var(--font-label);color:var(--muted);white-space:nowrap;font-size:11px}.chapter-dots{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.dashboard-next{margin-top:32px}.dashboard-card{margin-top:12px;padding:0;overflow:hidden}.dashboard-thumb{aspect-ratio:16/9;border-radius:0;justify-content:center;align-items:center;display:flex}.dashboard-thumb span{font-family:var(--font-label);letter-spacing:.2em;color:var(--stone);font-size:10px}.dashboard-card-body{padding:20px}.dashboard-card-title{margin:8px 0 0;font-size:18px}.dashboard-card-meta{max-width:none;color:var(--muted);margin:8px 0 0;font-size:13px}.dashboard-cta{width:100%;margin-top:20px;text-decoration:none}.dashboard-news{border-top:1px solid var(--rule);margin-top:36px;padding-top:20px}.dashboard-empty,.dashboard-done{color:var(--taupe);margin-top:12px;font-size:13px}.dashboard-admin-link{margin-top:32px;font-size:13px}.dashboard-skeleton{margin-top:8px}@media (width>=768px){.dashboard-progress,.dashboard-next,.dashboard-news{max-width:420px}}.dashboard-news-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.dashboard-news-unread{color:var(--taupe);letter-spacing:.08em;font-size:11px}.lesson{min-height:100dvh}.lesson-stage{background:var(--charcoal)}.skeleton-stage{aspect-ratio:16/9}.lesson-stage-bar{justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.lesson-back{color:var(--ivory);min-width:var(--tap-min);min-height:var(--tap-min);align-items:center;font-size:16px;line-height:1;text-decoration:none;display:inline-flex}.lesson-stage-chapter,.lesson-stage-rate{font-family:var(--font-label);letter-spacing:.15em;color:var(--stone);font-size:10px}.lesson-video{aspect-ratio:16/9;position:relative}.lesson-iframe{border:none;width:100%;height:100%;display:block}.lesson-video-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100%;display:flex}.lesson-play{border:1px solid var(--ivory);border-radius:50%;width:46px;height:46px;position:relative}.lesson-play:after{content:"";border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent var(--ivory);position:absolute;top:50%;left:50%;transform:translate(-40%,-50%)}.lesson-video-note{text-align:center;max-width:24em;color:var(--stone);margin:0;padding:0 20px;font-size:12px}.lesson-seek{padding:0 20px 16px}.lesson-seek-input{appearance:none;background:var(--body);cursor:pointer;width:100%;height:2px;margin:0}.lesson-seek-input::-webkit-slider-thumb{appearance:none;background:var(--ivory);cursor:pointer;border-radius:50%;width:10px;height:10px}.lesson-seek-input::-moz-range-thumb{background:var(--ivory);cursor:pointer;border:none;border-radius:50%;width:10px;height:10px}.lesson-seek-input:disabled{cursor:not-allowed;opacity:.5}.lesson-seek-times{font-family:var(--font-label);color:var(--stone);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.lesson-body{max-width:720px;padding:24px 20px 48px}.lesson-title{font-size:22px}.lesson-sub{max-width:none;color:var(--muted);margin:6px 0 0;font-size:13px}.lesson-tabs{border-bottom:1px solid var(--rule);gap:28px;margin-top:24px;display:flex}.lesson-tab{font-family:var(--font-gothic);color:var(--muted);cursor:pointer;transition:color var(--duration) var(--easing);background:0 0;border:none;border-bottom:1px solid #0000;margin-bottom:-1px;padding:10px 0;font-size:13px}.lesson-tab.is-active{color:var(--charcoal);border-bottom-color:var(--charcoal)}.lesson-tab-body{min-height:4em;margin-top:20px;font-size:14px}.lesson-unavailable{color:var(--taupe);font-size:13px}.lesson-next{width:100%;margin-top:28px}.lesson-next-name{text-align:center;max-width:none;color:var(--taupe);margin:10px 0 0;font-size:12px}.lesson-last{margin-top:28px}@media (width>=768px){.lesson-body{padding:32px 48px 64px}}.field+.field{margin-top:20px}.field-label{color:var(--taupe);margin-bottom:8px;font-size:12px;display:block}.field-input{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius);width:100%;font-family:var(--font-gothic);color:var(--body);min-height:var(--tap-min);transition:border-color var(--duration) var(--easing);padding:14px 16px;font-size:14px;display:block}.field-input::placeholder{color:var(--stone)}.field-input:focus{outline:2px solid var(--charcoal);outline-offset:3px;border-color:var(--charcoal)}.field-input-error{border-color:var(--error)}.field-error{max-width:none;color:var(--error);margin:8px 0 0;font-size:12px;line-height:1.6}.field-hint{max-width:none;color:var(--muted);margin:8px 0 0;font-size:12px}.field-success{max-width:none;color:var(--charcoal);margin:8px 0 0;font-size:12px}:root{--ivory:#f7f5f0;--paper:#fff;--beige:#c9b5a3;--greige:#b3a99f;--stone:#a9a9a5;--taupe:#6b5b4e;--charcoal:#1a1a18;--body:#3d3a35;--muted:#8a8378;--rule:#dfd9d0;--rule-strong:#c7bfb4;--placeholder-fill:#efebe4;--accent:#26382b;--accent-soft:#e4e8e2;--error:#c0392b;--error-soft:#f7e9e6;--font-mincho:"Yu Mincho", "游明朝体", YuMincho, "Shippori Mincho", serif;--font-gothic:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Noto Sans JP", sans-serif;--font-display:"Playfair Display", Georgia, serif;--font-label:Inter, Helvetica, sans-serif;--radius:2px;--radius-pill:999px;--pad-mobile:20px;--pad-desktop:40px 48px;--sidebar-width:232px;--duration:.2s;--easing:ease-out;--tap-min:44px;--tap-min-pc:48px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ivory);color:var(--body);font-family:var(--font-gothic);letter-spacing:.02em;-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.9}p{max-width:34em;margin:0 0 1em}h1,h2,h3,h4{color:var(--charcoal);font-family:var(--font-mincho);letter-spacing:.04em;margin:0;font-weight:500;line-height:1.45}h1{font-size:22px}.label-en{color:var(--muted);font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;font-size:11px;font-weight:400}.logo{color:var(--charcoal);font-family:var(--font-display);letter-spacing:.02em;font-size:19px;font-weight:400}.card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:20px}.placeholder{background:var(--placeholder-fill);border-radius:var(--radius)}.btn{min-height:var(--tap-min);border-radius:var(--radius);font-family:var(--font-gothic);letter-spacing:.08em;cursor:pointer;transition:opacity var(--duration) var(--easing), color var(--duration) var(--easing);border:1px solid #0000;justify-content:center;align-items:center;gap:14px;padding:15px 20px;font-size:13px;display:inline-flex}.btn-primary{background:var(--charcoal);border-color:var(--charcoal);color:var(--ivory)}.btn-secondary{border-color:var(--charcoal);color:var(--charcoal);background:0 0}.btn:hover:not(:disabled){opacity:.85}.btn:disabled{background:var(--stone);border-color:var(--stone);color:var(--paper);cursor:not-allowed}.btn-secondary:disabled{border-color:var(--stone);color:var(--stone);background:0 0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--charcoal);outline-offset:3px}.granted-list{margin:0;padding:0;list-style:none}.granted-list li{border-bottom:1px solid var(--rule);align-items:flex-start;gap:12px;padding:12px 0;font-size:14px;display:flex}.granted-list li:last-child{border-bottom:none}.granted-list .diamond{margin-top:9px}.link{color:var(--charcoal);border-bottom:1px solid var(--rule-strong);transition:color var(--duration) var(--easing), border-color var(--duration) var(--easing);padding-bottom:2px;text-decoration:none}.link:hover{color:var(--taupe);border-color:var(--taupe)}.badge{border-radius:var(--radius-pill);letter-spacing:.1em;align-items:center;padding:5px 16px;font-size:11px;display:inline-flex}.badge-strong{background:var(--charcoal);border:1px solid var(--charcoal);color:var(--ivory)}.badge-info{border:1px solid var(--rule-strong);color:var(--taupe)}.badge-state{background:var(--accent-soft);color:var(--accent)}.progress{background:var(--rule);height:2px}.progress-fill{background:var(--accent);height:100%;transition:width var(--duration) var(--easing)}.divider{align-items:center;gap:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--rule);flex:1;height:1px}.error-text{color:var(--error);font-size:12px}.error-banner{background:var(--error-soft);color:var(--error);border-radius:var(--radius);padding:12px 16px;font-size:13px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
