:root{--bg: #fff4fb;--bg-glow: rgba(206, 85, 167, .16);--text: #271326;--muted: #75566e;--panel: #fffafd;--panel-strong: #f8e5f4;--panel-soft: #fceef8;--border: #e3bad9;--border-strong: #8c41aa;--primary: #ce55a7;--primary-strong: #bf3fc6;--primary-deep: #8c41aa;--accent: #3dbd72;--accent-strong: #36d387;--success: #3dbd72;--success-strong: #36d387;--danger: #b43b62;--danger-bg: #ffe6ef;--warning: #c28a24;--on-primary: #fffafd;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=emerald]{--bg: #dff2e6;--bg-glow: rgba(54, 211, 135, .24);--text: #102117;--muted: #496d58;--panel: #f3fbf6;--panel-strong: #cbead8;--panel-soft: #e7f6ed;--border: #9ccfaf;--border-strong: #2f9f61;--primary: #3dbd72;--primary-strong: #36d387;--primary-deep: #237d4b;--accent: #bf3fc6;--accent-strong: #ce55a7;--success: #36d387;--success-strong: #237d4b;--danger: #b84d64;--danger-bg: #fde4ea;--warning: #a87f16;--on-primary: #07140d}:root[data-theme=royal]{--bg: #151020;--bg-glow: rgba(140, 65, 170, .26);--text: #fbf7ff;--muted: #ddd0ec;--panel: #21182d;--panel-strong: #2a1d3c;--panel-soft: #1b1426;--border: #4d386d;--border-strong: #bf3fc6;--primary: #8c41aa;--primary-strong: #bf3fc6;--primary-deep: #5f2e7d;--accent: #3dbd72;--accent-strong: #36d387;--success: #3dbd72;--success-strong: #36d387;--danger: #bd476d;--danger-bg: #341827;--warning: #d9b35c;--on-primary: #fff7ff}:root[data-theme=classic]{--bg: #151513;--bg-glow: rgba(197, 53, 70, .18);--text: #f8f4e8;--muted: #cfc5b2;--panel: #201e19;--panel-strong: #2a2218;--panel-soft: #171611;--border: #403a31;--border-strong: #d7ad61;--primary: #d7ad61;--primary-strong: #c53546;--primary-deep: #70313a;--accent: #7ecf92;--accent-strong: #4f9f5f;--success: #7ecf92;--success-strong: #4f9f5f;--danger: #9d3745;--danger-bg: #331d21;--warning: #d7ad61;--on-primary: #151513}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,var(--bg-glow),transparent 320px),var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.role-screen,.app-shell{width:min(100%,560px);min-height:100vh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.role-screen{display:grid;place-items:center}.role-panel{width:100%}.login-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px;color:var(--text);font-size:1.1rem;font-weight:950}.login-brand-logo{display:inline-grid;width:44px;height:44px;place-items:center;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:#ababab;padding:2px}.login-brand-logo img{width:100%;height:100%;border-radius:999px;object-fit:contain}.eyebrow{margin:0 0 4px;color:var(--primary);font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:20px;font-size:clamp(2rem,12vw,3.6rem);line-height:.96}h2{margin-bottom:12px;font-size:1.08rem}h3{margin-bottom:6px;font-size:1rem}.task-title{display:flex;align-items:center;gap:7px}.priority-mark{display:inline-flex;width:19px;height:19px;align-items:center;justify-content:center;flex:0 0 19px;border-radius:999px;background:var(--warning);color:var(--on-primary)}p{color:var(--muted);line-height:1.45}.role-grid{display:grid;gap:12px}.role-grid button{display:flex;min-height:96px;align-items:center;gap:14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);padding:18px;font-size:1.2rem;font-weight:800;text-align:left}.role-grid button:disabled{opacity:.45}.token-choice{display:flex;align-items:center;justify-content:space-between;gap:10px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar h1,.name-button{margin-bottom:0;font-size:1.65rem;line-height:1.1}.name-button{display:inline-flex;align-items:center;gap:7px;min-width:0;border:0;background:linear-gradient(90deg,var(--accent),var(--accent-strong)) left bottom / 56px 3px no-repeat,transparent;color:var(--text);padding:0 0 6px;font-weight:900;text-align:left}.name-button svg{flex:0 0 auto;color:var(--accent-strong)}.auth-panel,.profile-pane{display:grid;gap:14px}.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary-button,.secondary-button{min-height:44px;border-radius:8px;padding:10px 14px;font-weight:900}.primary-button{border:0;background:var(--primary);color:var(--on-primary)}.secondary-button{border:1px solid var(--border);background:var(--panel-strong);color:var(--text)}.icon-button{display:grid;width:44px;height:44px;place-items:center;flex:0 0 auto;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text)}.score-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border-strong));border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 15%,transparent),transparent 42%),var(--panel-strong);padding:14px 16px}.score-strip span{color:var(--muted);font-weight:700}.score-strip strong{color:var(--accent-strong);font-size:1.9rem;line-height:1}.score-actions{display:flex;align-items:center;gap:12px}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:18px}.tabs.two-tabs{grid-template-columns:repeat(2,1fr)}.tabs.three-tabs{grid-template-columns:repeat(3,1fr)}.tabs button{position:relative;display:flex;min-width:0;height:46px;align-items:center;justify-content:center;gap:5px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--muted);font-size:.78rem;font-weight:800}.nav-approval-badge{display:inline-flex;min-width:24px;height:20px;align-items:center;justify-content:center;gap:2px;border-radius:999px;background:var(--warning);color:var(--on-primary);padding:0 6px;font-size:.72rem;font-weight:950;line-height:1}.tabs button.active{border-color:var(--primary-strong);color:var(--on-primary);background:var(--primary)}.segmented-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:2px;margin:-6px 0 16px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);padding:3px}.segmented-tabs button{display:inline-flex;height:34px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:850}.segmented-tabs button.active{background:var(--accent);color:var(--on-primary)}.token-mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-description{margin:-6px 0 4px;color:var(--muted);font-size:.92rem;font-weight:750}.section-block{margin-bottom:22px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-header h2{display:inline-flex;align-items:center;gap:8px;margin-bottom:0}.section-header h2:before{content:"";width:9px;height:9px;border-radius:999px;background:var(--accent-strong);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.form-panel,.item-card,.empty-state,.plain-list{border:1px solid var(--border);border-radius:8px;background:var(--panel)}.form-panel{display:grid;gap:12px;padding:14px}label{display:grid;gap:6px;color:var(--muted);font-size:.86rem;font-weight:800}.field-label{display:block;margin-bottom:6px;color:var(--muted);font-size:.86rem;font-weight:800}.form-segmented-tabs{margin:0}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);padding:10px 12px}textarea{min-height:120px;resize:vertical;line-height:1.45}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toggle-line{display:flex;align-items:center;gap:10px}.toggle-line input{width:20px;min-height:20px}.stack{display:grid;gap:10px}.item-card{display:grid;gap:12px;padding:14px}.item-card.task-success{border-color:var(--success);background:color-mix(in srgb,var(--success) 16%,var(--panel))}.item-card.task-failed{border-color:var(--danger);background:var(--danger-bg)}.item-card.compact{grid-template-columns:1fr auto;align-items:center}.item-card p{margin-bottom:8px;font-size:.92rem}.task-card-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.card-main{display:flex;min-width:0;align-items:flex-start;gap:12px}.card-main>div{min-width:0}.card-icon{display:inline-grid;width:34px;height:34px;place-items:center;flex:0 0 auto;border-radius:8px;color:var(--on-primary)}.card-icon.task{background:var(--success-strong)}.item-card.task-failed .card-icon.task{color:#fff;background:var(--danger)}.card-icon.reward{background:var(--primary)}.card-icon.lock{background:var(--primary-deep)}.lock-detail{display:grid;gap:14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:16px}.lock-detail.locked{border-color:var(--primary-deep);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 14%,transparent),transparent 48%),var(--panel)}.lock-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lock-detail-header h2{margin-bottom:0}.lock-counter{color:var(--primary-deep);font-size:2rem;line-height:1}.due-date{min-width:72px;border-left:1px solid var(--border);padding-left:12px;text-align:right}.due-date span{display:block;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.due-date strong{display:block;margin-top:4px;color:var(--text);font-size:.94rem}.due-date small{display:block;margin-top:7px;white-space:nowrap}.occurrence-dots{display:flex;gap:8px;padding-left:46px}.occurrence-dot{width:14px;height:14px;border:2px solid var(--border);border-radius:999px;background:transparent}.occurrence-dot.completed{border-color:var(--success-strong);background:var(--success-strong)}.occurrence-dot.failed{border-color:var(--danger);background:var(--danger)}.occurrence-dot.current{border-color:var(--primary);background:transparent}small{color:var(--accent-strong);font-weight:800}.primary-action,.secondary-action,.reward-ready-action,.danger-action,.switcher{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;padding:10px 14px;font-weight:900}.primary-action{background:var(--primary);color:var(--on-primary)}.secondary-action{border:1px solid var(--border);background:var(--panel-strong);color:var(--text)}.reward-ready-action{background:var(--success-strong);color:#07130a}.danger-action{background:var(--danger);color:#fff}.button-row{display:flex;gap:8px}.split-actions>button{flex:1 1 0}.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:14px}.pagination span{color:var(--muted);font-size:.84rem;font-weight:850;white-space:nowrap}.square-action{width:44px;padding:10px}.list-stack{margin-top:12px}.status{width:fit-content;border-radius:999px;padding:5px 9px;color:var(--on-primary);background:var(--primary);font-size:.75rem;font-weight:900;text-transform:capitalize}.status.completed{background:var(--success)}.status.failed{color:#fff;background:var(--danger)}.status.pending_approval{background:var(--warning)}.empty-state,.plain-list{padding:14px;color:var(--muted)}.plain-list{display:grid;gap:10px;margin-top:12px;font-size:.9rem}.alert{margin-bottom:14px;border:1px solid var(--danger);border-radius:8px;background:var(--danger-bg);color:color-mix(in srgb,var(--danger) 20%,#fff);padding:12px;font-weight:800}.success-alert{margin-bottom:14px;border:1px solid var(--success);border-radius:8px;background:color-mix(in srgb,var(--success) 16%,var(--panel));color:var(--text);padding:12px;font-weight:800}.admin-shell{max-width:760px}.admin-dynamic-card{gap:14px}.admin-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-expiry{margin:4px 0 0;font-size:.82rem}.notice-panel{border:1px solid var(--success);border-radius:8px;background:color-mix(in srgb,var(--success) 12%,var(--panel));color:var(--text);padding:12px 14px;font-size:.92rem;font-weight:850;line-height:1.35}.awaiting-card{border-color:var(--warning);background:color-mix(in srgb,var(--warning) 13%,var(--panel))}.notification-trigger{position:relative}.logo-notification-button{overflow:hidden;border-radius:999px;background:#ababab;padding:2px}.notification-logo{display:block;width:100%;height:100%;border-radius:999px;object-fit:contain;object-position:center}.notification-trigger.has-unseen{border-color:var(--success);background:#ababab;box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 24%,transparent)}.notification-trigger.has-unseen:after{content:"";position:absolute;top:3px;right:3px;width:10px;height:10px;border:2px solid #ababab;border-radius:999px;background:var(--success-strong)}.notification-overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-start;justify-content:center;background:#0a0a0cc2;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom))}.notification-pane{width:min(100%,560px);max-height:calc(100vh - 36px);overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);padding:14px}.notification-pane-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.notification-pane-header h2{margin-bottom:4px}.notification-pane-header p{margin-bottom:0;font-size:.84rem}.notification-list{display:grid;gap:10px;margin-top:12px}.notification-item{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:12px;color:var(--text);text-align:left}.notification-button{cursor:pointer}.notification-item.unseen{border-color:var(--success);background:color-mix(in srgb,var(--success) 15%,var(--panel))}.notification-item h3{margin-bottom:4px}.notification-item p{margin-bottom:7px;font-size:.9rem}.notification-item span{flex:0 0 auto;border-radius:999px;background:var(--primary);color:var(--on-primary);padding:4px 8px;font-size:.72rem;font-weight:900}.notification-item:not(.unseen) span{border:1px solid var(--border);background:transparent;color:var(--muted)}.switcher{width:100%;margin-top:20px;border:1px solid var(--border);background:transparent;color:var(--muted)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:520px){.role-grid{grid-template-columns:1fr 1fr}}
