:root{--bg:#ffeedb;--panel:#f8efdb;--panel-border:#e9dcbc;--card:#fffdf6;--card-border:#efe3c6;--ink:#5c4a3d;--heading:#5c4a3d;--sub:#97826a;--main:#10b981;--main-dark:#059669;--accent:#75c9c8;--accent-soft:#e2f3f2;--orange:#ea580c;--orange-soft:#fdeadb;--yellow:#ffedb0;--dark:#262626;--pink:#ff7d9c;--radius:22px;--shadow:0 3px 10px #8c6e3212}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);background-color:var(--bg);background-image:radial-gradient(#5c4a3d29 2px,#0000 2px);background-size:32px 32px;font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,sans-serif;font-weight:500}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:14px;font-weight:500}a{color:var(--main-dark)}h1,h2,h3,.logo,.page-title{color:var(--heading);font-weight:900}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.btn{background:var(--main);color:#fff;border:none;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:700}.btn:hover{background:var(--main-dark)}.btn:disabled{cursor:not-allowed;background:#cfc6b4}.btn-ghost{color:var(--heading);border:2px solid var(--card-border);background:#fffdf6;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:700}.btn-ghost:hover{border-color:var(--accent)}.btn-danger{color:#d64560;background:#fff;border:2px solid #f3b8c4;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field label{color:var(--sub);font-size:12px;font-weight:700}.field input,.field textarea,.field select{background:#fffefb;border:2px solid #eee2cf;border-radius:12px;outline:none;padding:9px 12px}.field input:focus,.field textarea:focus{border-color:var(--accent)}.chip{background:var(--accent-soft);color:#21706f;border-radius:999px;margin-right:6px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}h2.page-title{letter-spacing:.06em;margin:4px 0 14px;font-size:22px}.muted{color:var(--sub);font-size:13px}.shell-a{align-items:flex-start;gap:18px;max-width:1560px;min-height:100vh;margin:0 auto;padding:18px;display:flex}.rail{background:var(--panel);border:1px solid var(--panel-border);border-radius:28px;padding:18px 14px;position:sticky;top:18px}.rail-left{flex-direction:column;flex-shrink:0;gap:4px;width:242px;max-height:calc(100vh - 36px);display:flex}.rail-left .logo{font-size:20px}.rail-left .btn-ghost{white-space:nowrap;padding:7px 8px;font-size:12px}.rail-right{flex-direction:column;flex-shrink:0;gap:14px;width:264px;max-height:calc(100vh - 36px);display:flex;overflow-y:auto}.center-col{flex-direction:column;flex:1;gap:14px;min-width:0;display:flex}.logo{letter-spacing:.1em;color:var(--heading);align-items:center;gap:9px;padding:2px 6px 10px;font-size:22px;font-weight:900;display:flex}.rail-left .logo{letter-spacing:.05em;white-space:nowrap;font-size:19px}.gate-card .logo{white-space:nowrap}.logo .mark{border-radius:50%;flex-shrink:0;width:42px;height:42px}img[src="/logo.png"]{border-radius:50%}.logo small{letter-spacing:.02em;color:var(--sub);font-size:10px;font-weight:700;display:block}.nav-item{color:var(--heading);text-align:left;background:0 0;border:none;border-radius:14px;align-items:center;gap:10px;width:100%;padding:11px 12px;font-size:15px;font-weight:700;display:flex}.nav-item:hover{background:#fff8e8}.nav-item.active{color:var(--orange)}.nav-ico{text-align:center;width:24px;font-size:17px}.badge-dot{color:#fff;background:#f43f5e;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:900}.profile-mini{background:var(--card);border:1px solid var(--card-border);border-radius:18px;margin-top:auto;overflow:hidden}.profile-mini .band{background:var(--accent-soft);text-align:center;padding:10px;font-size:24px}.profile-mini .body{text-align:center;padding:10px 12px}.center-head{background:var(--card);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:24px;align-items:center;gap:12px;padding:12px 16px;display:flex}.center-head .avatar{background:var(--accent-soft);border:2px solid var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:19px;display:flex}.center-head .title{letter-spacing:.1em;color:var(--heading);font-size:20px;font-weight:900}.search-box{flex:1;max-width:340px;position:relative}.search-box input{background:#fbf5e6;border:2px solid #f0e5cb;border-radius:999px;outline:none;width:100%;padding:8px 14px}.search-box input:focus{border-color:var(--accent)}.search-results{border:1px solid var(--card-border);z-index:30;background:#fff;border-radius:16px;position:absolute;top:44px;left:0;right:0;overflow:hidden;box-shadow:0 10px 24px #785a2826}.search-results button{text-align:left;background:0 0;border:none;width:100%;padding:10px 14px;font-size:13px;font-weight:700;display:block}.search-results button:hover{background:var(--accent-soft)}.tab-strip{background:linear-gradient(180deg, #14b8a6, var(--main-dark));color:#fff;border-radius:18px;align-items:center;gap:10px;padding:10px 16px;font-size:15px;font-weight:900;display:flex}.tab-strip .sub{opacity:.85;font-size:11px;font-weight:700}.main-area{width:100%}.bottom-nav{flex-wrap:wrap;gap:10px;display:flex}.bottom-nav button{background:var(--card);border:2px solid var(--card-border);min-width:0;color:var(--heading);white-space:nowrap;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 4px;font-size:12.5px;font-weight:900;display:flex}.bottom-nav button.active{border-color:var(--orange);color:var(--orange)}.dark-card{background:var(--dark);color:#fff;text-align:center;border-radius:20px;padding:14px 16px}.dark-card .clock{letter-spacing:2px;font-variant-numeric:tabular-nums;font-size:30px;font-weight:900}.dark-card .big-day{color:var(--pink);font-size:44px;font-weight:900;line-height:1.05}.progress-row{align-items:center;gap:8px;margin-top:6px;font-size:11px;font-weight:700;display:flex}.progress-row .bar{background:#444;border-radius:99px;flex:1;height:6px;overflow:hidden}.progress-row .bar i{border-radius:99px;height:100%;display:block}.pattern-card{text-align:center;color:var(--heading);border:1px solid var(--card-border);background-color:#fdf3d0;background-image:radial-gradient(#e8b93c59 1.6px,#0000 1.7px);background-size:16px 16px;border-radius:20px;padding:12px;font-weight:900}.launcher{max-width:860px;min-height:100vh;margin:0 auto;padding:26px 20px}.launcher-clock{text-align:center;color:var(--main-dark);margin:26px 0 8px}.launcher-clock .time{font-size:54px;font-weight:900;line-height:1}.launcher-clock .date{color:var(--sub);margin-top:6px;font-size:15px;font-weight:700}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:16px;margin-top:22px;display:grid}.app-icon{background:0 0;border:none;flex-direction:column;align-items:center;gap:7px;display:flex}.app-icon .tile{background:var(--card);border:1px solid var(--card-border);width:62px;height:62px;box-shadow:var(--shadow);border-radius:18px;justify-content:center;align-items:center;font-size:30px;display:flex}.app-icon span{font-size:12px;font-weight:700}.dock{border:1px solid var(--card-border);max-width:420px;box-shadow:var(--shadow);background:#fffdf6d9;border-radius:26px;justify-content:space-around;margin:30px auto 0;padding:10px;display:flex}.topbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.topbar .spacer{flex:1}.points-badge{background:var(--yellow);color:var(--heading);border-radius:999px;padding:5px 14px;font-size:14px;font-weight:900}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-head{text-align:center;color:var(--sub);padding:4px 0;font-size:12px;font-weight:800}.cal-cell{text-align:left;cursor:pointer;background:#fffefb;border:2px solid #0000;border-radius:14px;min-height:74px;padding:6px;font-family:inherit;font-size:12px;overflow:hidden}.cal-cell.dim{opacity:.35}.cal-cell.today{border-color:var(--main)}.cal-cell.selected{border-color:var(--accent);background:var(--accent-soft)}.cal-cell .dnum{font-size:13px;font-weight:900}.cal-ev{background:var(--accent-soft);color:#21706f;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;margin-top:3px;padding:1px 5px;font-weight:700;overflow:hidden}.grid2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.stamp-btn{border:4px dashed var(--accent);width:110px;height:110px;color:var(--main-dark);background:#fff;border-radius:50%;font-size:15px;font-weight:900}.stamp-btn.done{background:var(--accent-soft);color:var(--sub);border-style:solid}.card{transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-4px);box-shadow:0 10px 22px #8c6e3221}.logo .mark{transition:transform .3s}.logo:hover .mark{transform:scale(1.12)}.nav-item{transition:background .2s,color .2s}.nav-ico{transition:transform .25s;display:inline-block}.nav-item:hover .nav-ico{transform:scale(1.18)}.btn,.btn-ghost,.btn-danger{transition:transform .18s,background .2s,border-color .2s}.btn:hover,.btn-ghost:hover{transform:scale(1.04)}.btn:active,.btn-ghost:active,.btn-danger:active{transform:scale(.96)}.bottom-nav button{transition:transform .2s,border-color .2s,color .2s}.bottom-nav button:hover{border-color:var(--accent);transform:translateY(-2px)}.app-icon .tile{transition:transform .25s}.app-icon:hover .tile{transform:scale(1.1)}.app-icon:active .tile{transform:scale(.95)}.cal-cell{transition:transform .15s,border-color .15s,background .15s}.cal-cell:hover{border-color:var(--accent);transform:translateY(-2px)}.stamp-btn{transition:transform .2s,background .2s}.stamp-btn:hover:not(:disabled){transform:scale(1.05)rotate(-3deg)}.search-results button{transition:background .15s}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.mini-toggle{justify-content:center;align-items:center;gap:8px;margin-top:6px;display:flex}.mini-toggle button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-family:inherit;font-size:12.5px;font-weight:700;transition:color .2s}.mini-toggle button.on{color:var(--heading);box-shadow:inset 0 -2px 0 var(--accent)}.mini-toggle .sep{color:var(--border);font-size:11px}@media (width<=1180px){.rail-right{display:none}}@media (width<=760px){.shell-a{flex-direction:column;padding:10px}.rail-left{flex-flow:wrap;align-items:center;width:100%;max-height:none;position:static}.rail-left .nav-item{width:auto}.profile-mini,.search-box{display:none}}
