:root{color:#18202a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#18202a;--muted:#687381;--line:#dde2e7;--surface:#fff;--soft:#f4f6f8;--accent:#344d68;--accent-hover:#263d55;--danger:#a13c3c;--danger-soft:#fff1f1;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f4f6f8;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 20% -10%,#e4e9ef 0,#0000 30rem),#f4f6f8;min-width:320px;min-height:100dvh;margin:0}button,input,select{font:inherit}button,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #344d683d}.app-shell{width:min(100% - 32px,760px);padding:max(28px, env(safe-area-inset-top)) 0 max(28px, env(safe-area-inset-bottom));margin:0 auto}.app-header{justify-content:space-between;align-items:center;gap:13px;margin-bottom:26px;display:flex}.app-identity,.login-heading,.account-actions,.account-name{align-items:center;display:flex}.app-identity,.login-heading{gap:13px}.account-actions{gap:8px}.account-name{color:#465260;border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;background:#ffffffb3;border-radius:10px;gap:6px;max-width:180px;padding:7px 10px;font-size:.76rem;font-weight:700;overflow:hidden}.app-mark{color:#fff;background:var(--ink);border-radius:13px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 22px #18202a29}h1,h2,p{margin:0}.app-header h1{letter-spacing:-.025em;font-size:1.22rem;line-height:1.2}.app-header p{color:var(--muted);margin-top:3px;font-size:.82rem}.app-nav{background:#e9edf1;border-radius:12px;gap:4px;margin-bottom:18px;padding:4px;display:flex;overflow-x:auto}.app-nav button{min-height:38px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;flex:1;padding:0 14px;font-size:.8rem;font-weight:720}.app-nav button.active{color:var(--ink);background:var(--surface);box-shadow:0 2px 8px #18202a1a}.centered-shell{width:min(100% - 32px,430px);min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 0 max(28px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;gap:24px;margin:0 auto;display:flex}.login-heading h1{letter-spacing:-.025em;font-size:1.25rem}.login-heading p{color:var(--muted);margin-top:3px;font-size:.8rem}.login-panel{width:100%}.stacked-form{gap:16px;display:grid}.stacked-form .primary-button{width:100%;margin-top:2px}.login-error,.section-notice{margin-bottom:18px}main{gap:18px;display:grid}.panel{background:#fffffff0;border:1px solid #dde2e7f2;border-radius:20px;padding:24px;box-shadow:0 12px 32px #1c27320e}.section-heading{margin-bottom:22px}.section-heading.compact{margin-bottom:0}.eyebrow{color:var(--accent);letter-spacing:.105em;text-transform:uppercase;margin-bottom:6px;font-size:.7rem;font-weight:750}.section-heading h2{letter-spacing:-.03em;font-size:1.35rem;line-height:1.25}.section-heading>p:last-child:not(.eyebrow){color:var(--muted);margin-top:7px;font-size:.9rem;line-height:1.45}.field-label{color:#394553;margin-bottom:8px;font-size:.78rem;font-weight:700;display:block}.select-wrap{position:relative}.select-wrap svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.combobox,.combobox-input{position:relative}.combobox-input>svg{z-index:1;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.combobox-input input{padding-left:44px}.combobox-input input::-webkit-search-cancel-button{cursor:pointer}.combobox-menu{z-index:15;background:var(--surface);border:1px solid #cfd6dd;border-radius:12px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 14px 32px #18202a29}.combobox-results{max-height:230px;padding:5px;overflow-y:auto}.combobox-results button,.combobox-add{width:100%;min-height:42px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;padding:0 11px;font-size:.84rem;display:flex}.combobox-results button:hover,.combobox-results button:focus-visible,.combobox-results button.selected{background:#edf1f4}.combobox-results button.selected{color:var(--accent);font-weight:750}.combobox-empty{color:var(--muted);text-align:center;padding:14px 11px;font-size:.8rem}.combobox-add{color:var(--accent);border-top:1px solid var(--line);border-radius:0;gap:8px;font-weight:750}.combobox-add:hover,.combobox-add:focus-visible{background:#f3f6f8}select,input{width:100%;height:50px;color:var(--ink);background:var(--surface);appearance:none;border:1px solid #cfd6dd;border-radius:12px;padding:0 44px 0 15px;transition:border-color .12s,box-shadow .12s}input{padding-right:15px}select:hover,input:hover{border-color:#adb7c1}.primary-button,.secondary-button,.period-switch button,.icon-button,.notice button{cursor:pointer;border:0}.personal-entry-list,.user-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.personal-entry-list li,.user-list li{background:#f7f8fa;border:1px solid #edf0f2;border-radius:12px;align-items:center;gap:12px;min-height:62px;padding:11px 13px;display:flex}.personal-entry-list li>div:first-child,.user-list li>div:nth-child(2){gap:4px;min-width:0;display:grid}.personal-entry-list strong,.user-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.personal-entry-list time,.user-list li>div:nth-child(2) span{color:var(--muted);font-size:.73rem}.delete-button{width:38px;height:38px;color:var(--danger);background:var(--danger-soft);cursor:pointer;border:0;border-radius:10px;flex:0 0 38px;place-items:center;margin-left:auto;display:grid}.delete-button:disabled{cursor:not-allowed;opacity:.5}.user-create-form{background:var(--soft);border-radius:14px;gap:13px;margin-bottom:28px;padding:17px;display:grid}.user-create-form .primary-button{width:100%}.user-list-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.user-list-heading h3{margin:0;font-size:.9rem}.user-list-heading>span{min-width:26px;color:var(--muted);text-align:center;background:#e9edf1;border-radius:8px;padding:4px 7px;font-size:.7rem;font-weight:800}.user-avatar{color:#fff;background:var(--accent);border-radius:10px;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:.78rem;font-weight:800;display:grid}.admin-badge{color:var(--accent);background:#e7edf3;border-radius:8px;margin-left:auto;padding:5px 8px;font-size:.67rem;font-weight:800}.primary-button,.secondary-button{border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 18px;font-weight:720;display:inline-flex}.entry-panel form>.primary-button{width:100%;margin-top:12px}.primary-button{color:#fff;background:var(--accent);box-shadow:0 6px 14px #344d682b}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.primary-button:disabled,.secondary-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.53}.secondary-button{color:var(--ink);background:#edf0f3}.empty-inline{color:#4e5a67;background:var(--soft);border-radius:10px;margin:-4px 0 17px;padding:12px 14px;font-size:.85rem;line-height:1.4}.notice{border-radius:11px;align-items:flex-start;gap:9px;padding:13px 14px;font-size:.84rem;line-height:1.45;display:flex}main>.notice{margin-bottom:-4px}.entry-panel>.notice{margin-top:16px}.notice svg{flex:none;margin-top:1px}.notice-error{color:var(--danger);background:var(--danger-soft)}.notification-control{border-top:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:22px;padding-top:19px;display:grid}.notification-icon{width:38px;height:38px;color:var(--accent);background:#edf0f3;border-radius:11px;place-items:center;display:grid}.notification-copy strong{font-size:.82rem;display:block}.notification-copy p{color:var(--muted);margin-top:3px;font-size:.74rem;line-height:1.4}.notification-button{min-height:38px;padding-inline:13px;font-size:.75rem}.notice button{color:inherit;white-space:nowrap;background:0 0;margin-left:auto;padding:0;font-weight:700}.ranking-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:21px;display:flex}.period-switch{background:#edf0f3;border-radius:10px;align-items:center;padding:3px;display:flex}.period-switch button{min-height:34px;color:var(--muted);white-space:nowrap;background:0 0;border-radius:8px;padding:0 11px;font-size:.75rem;font-weight:700}.period-switch button.active{color:var(--ink);background:var(--surface);box-shadow:0 2px 7px #18202a1a}.ranking-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.ranking-list li{background:#f7f8fa;border:1px solid #edf0f2;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:62px;padding:10px 13px;display:grid}.rank{color:#586575;background:#e7ebef;border-radius:9px;place-items:center;width:30px;height:30px;font-size:.78rem;font-weight:800;display:grid}.ranking-list li:first-child .rank{color:#fff;background:var(--accent)}.ranking-name{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:680;overflow:hidden}.ranking-count{color:var(--muted);align-items:baseline;gap:5px;font-size:.72rem;display:flex}.ranking-count strong{color:var(--ink);font-size:1rem}.ranking-empty,.loading-state{min-height:112px;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:9px;display:flex}.ranking-empty{background:#f7f8fa;border:1px dashed #d9dee4;border-radius:12px;flex-direction:column;padding:14px;font-size:.84rem}.loading-state{font-size:.82rem}footer{color:#8a939d;text-align:center;padding:22px 0 4px;font-size:.7rem}.dialog-backdrop{z-index:20;padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));background:#0e141b8a;align-items:end;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:18px;width:min(100%,430px);margin:0 auto;padding:22px;box-shadow:0 22px 60px #090e134d}.dialog-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:21px;display:flex}.dialog-header h2{letter-spacing:-.02em;font-size:1.15rem}.icon-button{width:38px;height:38px;color:var(--muted);background:var(--soft);border-radius:10px;place-items:center;display:grid}.dialog-actions{grid-template-columns:1fr 1.45fr;gap:9px;margin-top:20px;display:grid}.field-error{color:var(--danger);margin-top:8px;font-size:.78rem}.spin{animation:.8s linear infinite spin}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=600px){.app-shell{padding-top:48px}.panel{padding:30px}.entry-panel form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:0 10px;display:grid}.entry-panel form .empty-inline,.entry-panel form .field-label{grid-column:1/-1}.entry-panel form>.primary-button{width:auto;margin-top:0}.dialog-backdrop{align-items:center}.user-create-form{grid-template-columns:1fr 1fr;align-items:end}.user-create-form .primary-button{grid-column:1/-1}}@media (width<=480px){.app-shell{width:min(100% - 24px,760px)}.panel{border-radius:17px;padding:20px}.ranking-header{flex-direction:column;align-items:stretch}.period-switch{width:100%}.period-switch button{flex:1}.notification-control{grid-template-columns:38px minmax(0,1fr)}.notification-button{grid-column:2;width:100%}.app-header{align-items:flex-start}.account-name{max-width:100px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
