:root{--bg:#0e1016;--bg-soft:#14171f;--panel:#171b24;--panel-2:#1c2129;--line:#262c38;--line-soft:#1f2530;--text:#e7eaf0;--muted:#8b93a7;--faint:#5c6479;--accent:#6d7bff;--accent-2:#a07bff;--accent-soft:rgba(109,123,255,.14);--company:#2dd4a7;--company-soft:rgba(45,212,167,.14);--radius:16px;--glow:0 0 0 1px rgba(109,123,255,.25),0 8px 30px rgba(109,123,255,.18);--shadow:0 1px 2px rgba(0,0,0,.4),0 12px 40px rgba(0,0,0,.35);font-family:Inter,-apple-system,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0}body{background:radial-gradient(1200px 600px at 80% -10%,rgba(109,123,255,.1),transparent 60%),radial-gradient(900px 500px at -10% 10%,rgba(160,123,255,.08),transparent 55%),var(--bg);color:var(--text);font-size:14px;line-height:1.62;-webkit-font-smoothing:antialiased;letter-spacing:.1px}.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--panel),var(--bg-soft));border-right:1px solid var(--line-soft);padding:22px 16px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:16px;letter-spacing:.4px;padding:4px 10px 20px}.brand .logo{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;box-shadow:0 6px 18px rgba(109,123,255,.45)}.brand small{color:var(--faint);font-weight:500;font-size:10px;letter-spacing:2px;display:block}.mode-switch{position:relative;display:flex;background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:12px;padding:4px;margin:0 6px 16px}.mode-switch button{flex:1 1;border:0;background:transparent;padding:8px 0;border-radius:9px;font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--muted);cursor:pointer;transition:color .2s;position:relative}.lock-badge{display:inline-flex;vertical-align:middle;margin-left:5px}.lock-badge svg{width:12px;height:12px}.mode-switch button.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 4px 14px rgba(109,123,255,.4)}.nav-label{font-size:10px;letter-spacing:2px;color:var(--faint);padding:12px 12px 6px;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;color:var(--muted);text-decoration:none;font-weight:500;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;font-size:13.5px;transition:background .18s,color .18s,box-shadow .18s}.nav-item svg{width:18px;height:18px;flex-shrink:0;opacity:.85}.nav-item:hover{background:var(--panel-2);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:#c5ccff;font-weight:600;box-shadow:inset 0 0 0 1px rgba(109,123,255,.25),0 0 22px rgba(109,123,255,.12)}.nav-item.active svg{opacity:1}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line-soft);padding-top:14px;display:flex;align-items:center;gap:11px}.avatar{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--accent-soft),rgba(160,123,255,.2));color:#c5ccff;display:grid;place-items:center;font-weight:700;border:1px solid var(--line)}.sidebar-foot .meta small{color:var(--faint);display:block;font-size:11px}.sidebar-foot .meta strong{font-size:13px;font-weight:600}.main{padding:26px 34px 70px;max-width:1240px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px}.topbar h1{font-size:23px;margin:0;font-weight:700;letter-spacing:.2px}.topbar .sub{color:var(--muted);font-size:12px;margin-top:3px;letter-spacing:.4px}.btn{border:0;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;padding:10px 18px;border-radius:11px;font-weight:600;font-size:13px;letter-spacing:.3px;cursor:pointer;box-shadow:0 6px 18px rgba(109,123,255,.32);transition:transform .12s,box-shadow .2s}.btn:hover{transform:translateY(-1px);box-shadow:var(--glow)}.btn.ghost{background:var(--panel);color:var(--text);border:1px solid var(--line);box-shadow:none}.btn.ghost:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.btn.sm{padding:7px 13px;font-size:12px}.btn-row{display:flex;gap:8px}.screen{display:none;animation:fade .35s ease}.screen.active{display:block}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.grid{display:grid;grid-gap:18px;gap:18px}.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-12{grid-template-columns:7fr 5fr}.card{position:relative;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(109,123,255,.5),transparent);opacity:.6}.card h3{margin:0 0 16px;font-size:14px;font-weight:600;letter-spacing:.3px;display:flex;justify-content:space-between;align-items:center}.card h3 .tag{font-size:11px;color:var(--faint);font-weight:500;letter-spacing:.5px}.skeleton-line{height:10px;border-radius:6px;background:linear-gradient(90deg,#20262f,#2a313d,#20262f);background-size:200% 100%;animation:shimmer 2.2s linear infinite;margin:10px 0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line.w-90{width:90%}.skeleton-line.w-70{width:70%}.skeleton-line.w-50{width:50%}.placeholder-box{border:1.5px dashed var(--line);border-radius:12px;color:var(--faint);display:grid;place-items:center;text-align:center;padding:28px;font-size:12px;background:rgba(255,255,255,.012)}.pill{display:inline-block;padding:3px 11px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.4px;background:var(--accent-soft);color:#c5ccff;border:1px solid rgba(109,123,255,.3)}.pill.green{background:var(--company-soft);color:#8ff0d4;border-color:rgba(45,212,167,.3)}.pill.gray{background:var(--bg-soft);color:var(--muted);border-color:var(--line)}.entry{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-soft)}.entry:last-child{border-bottom:0}.entry .date{width:50px;text-align:center;flex-shrink:0}.entry .date b{display:block;font-size:22px;font-weight:700}.entry .date small{color:var(--faint);font-size:11px}.entry .body{flex:1 1}.entry .body strong{font-size:14px;font-weight:600}.cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:7px;gap:7px}.cal .dow{text-align:center;font-size:10.5px;color:var(--faint);padding:4px 0;font-weight:600;letter-spacing:1px}.cal .cell{min-height:116px;border:1px solid var(--line-soft);border-radius:11px;padding:8px;font-size:12px;background:rgba(255,255,255,.012);transition:border-color .15s,background .15s}.cal .cell:hover{border-color:var(--line);background:rgba(255,255,255,.025)}.cal .cell.dim{opacity:.35}.cal .cell.today{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 24px rgba(109,123,255,.14)}.cal .cell b{font-weight:600}.cal .ev{font-size:10px;background:var(--accent-soft);color:#c5ccff;border-radius:6px;padding:2px 6px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid rgba(109,123,255,.22)}.cal .ev.green{background:var(--company-soft);color:#8ff0d4;border-color:rgba(45,212,167,.22)}.friend-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line-soft)}.friend-row:last-child{border:0}.friend-row .meta{flex:1 1}.friend-row .meta small{color:var(--faint)}.acct-code{font-family:ui-monospace,SF Mono,Menlo,monospace;background:var(--bg-soft);padding:2px 9px;border-radius:7px;letter-spacing:1.5px;border:1px solid var(--line);color:#c5ccff}.bottle-editor{font-size:14px;line-height:2.05}.mask{background:#2c3340;color:#2c3340;border-radius:5px;padding:0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid #38414f}.mask.pii{background:repeating-linear-gradient(45deg,rgba(255,107,107,.25),rgba(255,107,107,.25) 5px,rgba(255,107,107,.12) 0,rgba(255,107,107,.12) 10px);color:transparent;border-color:rgba(255,107,107,.4)}.chat{display:flex;flex-direction:column;height:540px}.chat .stream{flex:1 1;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:4px}.bubble{max-width:78%;padding:12px 15px;border-radius:16px;font-size:13px}.bubble.ai{background:var(--bg-soft);border:1px solid var(--line-soft);border-bottom-left-radius:5px;align-self:flex-start}.bubble.me{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-bottom-right-radius:5px;align-self:flex-end;box-shadow:0 6px 18px rgba(109,123,255,.3)}.bubble .who{font-size:10px;opacity:.65;display:block;margin-bottom:4px;letter-spacing:.5px}.chat .composer{display:flex;gap:10px;margin-top:16px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:8px 8px 8px 16px;background:var(--bg-soft)}.chat .composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.chat .composer input{flex:1 1;border:0;outline:0;font-size:13px;background:transparent;color:var(--text)}.field{margin-bottom:16px}.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 13px;font-size:13px;font-family:inherit;background:var(--bg-soft);color:var(--text);transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.field input[readonly]{color:var(--muted)}.note{font-size:11px;color:var(--muted);border:1px solid var(--line-soft);border-radius:10px;padding:9px 13px;margin-top:10px}.note,.seg{background:var(--bg-soft)}.seg{display:inline-flex;border:1px solid var(--line-soft);border-radius:12px;padding:4px;gap:4px}.seg button{border:0;background:transparent;padding:7px 16px;border-radius:9px;font-size:12.5px;font-weight:600;letter-spacing:.3px;color:var(--muted);cursor:pointer;transition:all .18s}.seg button.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 4px 14px rgba(109,123,255,.35)}.hidden{display:none!important}.cal .cell{cursor:pointer}.cal .cell:hover{border-color:var(--accent)}.modal-overlay{position:fixed;inset:0;background:rgba(6,8,14,.66);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:50;animation:fade .2s ease}.modal{width:min(420px,92vw);background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--glow),0 30px 80px rgba(0,0,0,.55)}.modal h3{margin:0 0 4px;font-size:16px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.modal .modal-close{border:0;background:transparent;color:var(--muted);width:28px;height:28px;cursor:pointer;font-size:20px;line-height:1;padding:0}.modal .modal-close:hover{color:var(--text)}.modal .modal-date{color:#c5ccff;font-size:12px;margin:0 0 16px;letter-spacing:.4px}.modal .modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.modal.modal-lg{width:min(520px,94vw)}.evlist{display:grid;grid-template-columns:1fr;grid-gap:18px;gap:18px;margin-bottom:18px;max-height:46vh;overflow-y:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.evlist::-webkit-scrollbar{width:8px}.evlist::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}.evlist::-webkit-scrollbar-track{background:transparent}#add-modal{z-index:60}.evlist-group h4{display:flex;align-items:center;gap:9px;margin:0 0 12px;font-size:12.5px;letter-spacing:.5px;color:var(--text);font-weight:700}.evlist-group h4 .dot-other,.evlist-group h4 .dot-self{width:9px;height:9px;border-radius:50%}.evlist-group h4 .dot-self{background:var(--accent);box-shadow:0 0 9px var(--accent)}.evlist-group h4 .dot-other{background:var(--company);box-shadow:0 0 9px var(--company)}.evlist-group h4 .cnt{margin-left:auto;font-size:11px;font-weight:600;color:var(--muted);background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:1px 10px}.sch{border-bottom:1px solid var(--line)}.sch-row{display:grid;grid-template-columns:56px 1fr;grid-gap:14px;gap:14px;border-top:1px solid var(--line);min-height:50px;align-items:center;transition:background .14s}.sch-row:hover{background:rgba(255,255,255,.02)}.sch-time{display:flex;flex-direction:column;justify-content:center;font-family:ui-monospace,SF Mono,Menlo,monospace;line-height:1.25;margin-top:-1px}.sch-time .s{font-size:12px;color:#c5ccff}.sch-time .e{font-size:10px;color:var(--faint)}.sch .friend .sch-time .s,.sch.friend .sch-time .s{color:#8ff0d4}.sch-body{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 0 8px 14px;border-left:2px solid var(--accent);min-height:100%}.sch.friend .sch-body{border-left-color:var(--company)}.sch-name{font-size:13px;font-weight:600}.sch-who{font-size:11px;color:var(--faint)}.evlist-empty{color:var(--faint);font-size:12px;padding:12px;border:1px dashed var(--line);border-radius:12px;text-align:center}.drum{position:relative;display:flex;align-items:center;gap:6px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:6px 14px;width:max-content}.drum-col{height:108px;width:52px;overflow-y:auto;scroll-snap-type:y mandatory;text-align:center;scrollbar-width:none}.drum-col::-webkit-scrollbar{display:none}.drum-item{height:36px;line-height:36px;scroll-snap-align:center;font-size:16px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.drum-item.sel,.drum-sep{color:var(--text);font-weight:700}.drum-sep{font-size:18px}.drum-mask{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:36px;pointer-events:none;border-top:1px solid rgba(109,123,255,.5);border-bottom:1px solid rgba(109,123,255,.5);background:var(--accent-soft)}.checks{display:flex;flex-wrap:wrap;gap:8px}.check-item{display:inline-flex;align-items:center;gap:7px;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:6px 13px;font-size:12.5px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .15s}.check-item input{accent-color:var(--accent);cursor:pointer}.check-item:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:#c5ccff}.modal.modal-sm{width:min(420px,92vw)}#dt-modal,#share-modal{z-index:70}#masksend-modal{z-index:75}.allday-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px}.switch{position:relative;display:inline-block;width:44px;height:25px}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;inset:0;cursor:pointer;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);transition:.2s}.switch .slider:before{content:"";position:absolute;height:19px;width:19px;left:2px;top:2px;background:var(--muted);border-radius:50%;transition:.2s}.switch input:checked+.slider{background:var(--accent-soft);border-color:var(--accent)}.switch input:checked+.slider:before{transform:translateX(19px);background:var(--accent)}.bottle-rule{font-size:11px;color:var(--faint);padding:4px 8px 10px;border-bottom:1px solid var(--line-soft);margin-bottom:6px}.bottle-read{display:flex;flex-direction:column}.bottle-head{border-bottom:1px solid var(--line-soft);padding-bottom:12px;margin-bottom:16px}.bottle-head strong{font-size:16px;display:block}.bottle-head .bottle-date{color:var(--faint);font-size:11.5px}.bottle-body{font-size:14px;line-height:2;flex:1 1}.feed-current{position:-webkit-sticky;position:sticky;top:-8px;z-index:3;font-size:13px;font-weight:700;letter-spacing:.4px;color:var(--text);background:var(--panel-2);border-bottom:1px solid var(--line);margin:-8px -8px 8px;padding:16px 16px 9px}.feed-current span{font-weight:500}.feed-current span,.feed-loadmore{color:var(--faint);font-size:11.5px}.feed-loadmore{text-align:center;padding:14px 8px 6px}.feed-newer{float:right;border:1px solid var(--line);background:var(--bg-soft);color:#c5ccff;font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;cursor:pointer}.feed-newer:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.memo-app.friends-app{grid-template-columns:7fr 5fr}.friend-list-head{position:-webkit-sticky;position:sticky;top:-8px;z-index:2;font-size:12px;font-weight:700;letter-spacing:.8px;color:var(--muted);background:var(--panel-2);border-bottom:1px solid var(--line);margin:-8px -8px 8px;padding:14px 14px 9px;text-transform:uppercase}.friend-card{display:flex;align-items:center;gap:12px}.friend-ava{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:700;font-size:14px;background:linear-gradient(135deg,var(--accent-soft),rgba(160,123,255,.2));color:#c5ccff;border:1px solid var(--line)}.friend-card .friend-meta{min-width:0}.friend-card .friend-meta strong{display:block}.friend-card .friend-meta small{color:var(--faint);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-head{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line-soft);padding-bottom:16px;margin-bottom:18px}.friend-head .avatar{width:48px;height:48px;border-radius:14px;font-size:18px}.friend-head strong{font-size:17px}.friend-head .fs-id{color:var(--faint);font-size:11.5px;margin-top:3px}.fs-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.fs-toggle strong{font-size:13.5px;font-weight:600;display:block}.fs-toggle small{color:var(--faint);font-size:11.5px}.fs-plans-date{color:#c5ccff;margin-bottom:12px}.fs-plans-date,.org-subhead{font-size:12px;font-weight:700;letter-spacing:.4px}.org-subhead{color:var(--muted);margin:14px 0 6px;border-top:1px solid var(--line-soft);padding-top:12px}.name-row{display:flex;align-items:center;gap:12px}.name-row input{flex:1 1}.profile-ava{width:48px;height:48px;border-radius:50%;flex-shrink:0;padding:0;border:0;display:grid;place-items:center;font-size:19px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 6px 18px rgba(109,123,255,.4);transition:transform .12s,box-shadow .2s}.profile-ava:hover{transform:scale(1.05);box-shadow:0 6px 22px rgba(109,123,255,.55)}.memo-app{display:grid;grid-template-columns:290px 1fr;grid-gap:18px;gap:18px;height:72vh}.memo-list{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:var(--radius);overflow-y:auto;padding:8px;box-shadow:var(--shadow);scrollbar-width:thin;scrollbar-color:var(--line) transparent}.memo-card{padding:11px 13px;border-radius:11px;cursor:pointer;border:1px solid transparent;margin-bottom:4px;transition:background .14s}.memo-card:hover{background:var(--bg-soft)}.memo-card.active{background:var(--accent-soft);border-color:rgba(109,123,255,.3)}.memo-card strong{font-size:13.5px;display:block;margin-bottom:2px}.memo-card small{color:var(--faint);font-size:11.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memo-editor{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.memo-title{font-size:20px;font-weight:700;border:0;background:transparent;color:var(--text);outline:0;padding:0}.memo-title::placeholder{color:var(--faint)}.memo-meta{color:var(--faint);font-size:11.5px;margin:6px 0 14px;letter-spacing:.3px}.memo-body{flex:1 1;border:0;background:transparent;color:var(--text);outline:0;resize:none;font-size:14px;line-height:1.95;font-family:inherit;padding:0}.memo-body::placeholder{color:var(--faint)}.memo-card strong .mc-ic{width:13px;height:13px;vertical-align:-2px;margin-right:4px;color:var(--accent)}.memo-lock{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--muted)}.memo-lock svg{width:40px;height:40px;color:var(--faint)}.memo-lock p{margin:0;font-size:13px}.memo-lock input{width:min(280px,80%);border:1px solid var(--line);border-radius:10px;padding:9px 13px;background:var(--bg-soft);color:var(--text);font-size:13px;outline:0}.memo-lock input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.ctx-menu{position:fixed;z-index:130;min-width:168px;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 16px 44px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ctx-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--text);font-size:13px;padding:8px 11px;border-radius:8px;cursor:pointer}.ctx-menu button:hover{background:var(--accent-soft);color:#c5ccff}.ctx-menu button.danger:hover{background:rgba(255,107,107,.14);color:#ff8a8a}.editor-card{display:flex;flex-direction:column}.editor-card .field-grow{flex:1 1 auto;display:flex;flex-direction:column;margin-bottom:0}.editor-card .field-grow textarea{flex:1 1 auto;min-height:180px;resize:vertical}.diary-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}.diary-pager .pager-info{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.diary-allshown{color:var(--faint);font-size:12px;text-align:center;padding:8px}.diary-search{display:flex;align-items:center;gap:9px;background:var(--bg-soft);border:1px solid var(--line);border-radius:11px;padding:8px 13px;margin-bottom:12px;transition:border-color .15s,box-shadow .15s}.diary-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.diary-search svg{width:17px;height:17px;color:var(--muted);flex-shrink:0}.diary-search input{flex:1 1;border:0;outline:0;background:transparent;color:var(--text);font-size:13px}.diary-search input::placeholder{color:var(--faint)}.diary-empty{color:var(--faint);font-size:12.5px;text-align:center;padding:16px;border:1px dashed var(--line);border-radius:11px;margin-bottom:10px}.view-body{background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:12px;padding:16px;min-height:52vh}.fly-file{position:fixed;z-index:120;pointer-events:none;color:var(--accent);filter:drop-shadow(0 6px 16px rgba(109,123,255,.5))}.fly-file svg{width:34px;height:34px}.diary-item.just-added{animation:pop-in .45s cubic-bezier(.2,.8,.3,1.2)}@keyframes pop-in{0%{opacity:0;transform:translateY(-10px) scale(.92);box-shadow:0 0 0 2px var(--accent-soft)}to{opacity:1;transform:none}}.diary-item{cursor:-webkit-grab;cursor:grab}.diary-item.dragging{opacity:.45;cursor:-webkit-grabbing;cursor:grabbing}.dropdock{position:fixed;left:0;right:0;top:75%;transform:none;display:flex;justify-content:center;gap:48px;z-index:80;pointer-events:none}.dropdock .dropzone{pointer-events:auto}.dropzone{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:600}.dz-circle{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;border:1.5px dashed var(--line);background:rgba(20,24,34,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 16px 40px rgba(0,0,0,.45);transition:all .15s}.dz-circle svg{width:30px;height:30px}.dropzone.trash.over{color:#ff6b6b}.dropzone.trash.over .dz-circle{border-color:#ff6b6b;border-style:solid;background:rgba(255,107,107,.16);box-shadow:0 0 26px rgba(255,107,107,.3);transform:scale(1.06)}.dropzone.share.over{color:#c5ccff}.dropzone.share.over .dz-circle{border-color:var(--accent);border-style:solid;background:var(--accent-soft);box-shadow:0 0 26px rgba(109,123,255,.3);transform:scale(1.06)}.ym-btn{display:inline-flex;align-items:center;gap:6px;margin-top:4px;background:var(--bg-soft);border:1px solid var(--line);border-radius:11px;padding:6px 14px;cursor:pointer;color:var(--text);font-size:18px;font-weight:700;letter-spacing:1px;font-family:ui-monospace,SF Mono,Menlo,monospace;transition:border-color .15s,box-shadow .15s}.ym-btn:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.ym-btn .ym-bar{color:var(--faint)}.ym-btn .ym-caret{width:16px;height:16px;color:var(--muted)}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--bg-soft);border:1px solid var(--line);color:var(--muted);cursor:pointer;transition:all .15s;flex-shrink:0}.icon-btn svg{width:17px;height:17px}.icon-btn:hover{color:#c5ccff;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft),0 0 16px rgba(109,123,255,.18)}.mask-editor{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft);font-size:15px;line-height:2.2;min-height:30vh;-moz-user-select:none;user-select:none;-webkit-user-select:none;cursor:crosshair}.mask-editor .ch{border-radius:3px}.mask-editor .ch.msk{background:#2c3340;color:transparent;box-shadow:inset 0 0 0 1px #38414f}.modal.modal-editor{width:min(820px,95vw)}.big-editor{width:100%;min-height:52vh;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:16px;font-size:15px;line-height:1.9;font-family:inherit;background:var(--bg-soft);color:var(--text)}.big-editor:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.mini-cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px;margin-top:4px}.mini-cal .mc-dow{text-align:center;font-size:10px;color:var(--faint);padding:2px 0;font-weight:600}.mini-cal .mc-d{aspect-ratio:1/1;display:grid;place-items:center;font-size:12px;border-radius:8px;cursor:pointer;color:var(--text);border:1px solid transparent;transition:background .12s,border-color .12s}.mini-cal .mc-d:hover{background:var(--bg-soft);border-color:var(--line)}.mini-cal .mc-d.dim{color:transparent;pointer-events:none}.mini-cal .mc-d.sel{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 4px 12px rgba(109,123,255,.4)}.both-toggle{gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:6px 12px;font-size:12.5px;cursor:pointer}.both-toggle,.cal-legend{display:inline-flex;align-items:center;color:var(--muted)}.cal-legend{font-size:11px;font-weight:500;gap:6px}.cal-legend .lg{width:9px;height:9px;border-radius:50%;display:inline-block;margin-left:6px}.cal-legend .lg-self{background:var(--accent);box-shadow:0 0 8px var(--accent)}.cal-legend .lg-work{background:var(--company);box-shadow:0 0 8px var(--company)}.time-rows{display:flex;flex-direction:column;gap:8px}.time-rows.disabled{opacity:.4;pointer-events:none;filter:grayscale(.4)}.time-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--bg-soft);border:1px solid var(--line);border-radius:11px;padding:11px 14px;cursor:pointer;color:var(--text);font-size:13px;transition:border-color .15s}.time-row:hover{border-color:var(--accent)}.time-row .time-ic{font-family:ui-monospace,Menlo,monospace;color:var(--accent);font-weight:700;letter-spacing:-1px}.share-summary{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--bg-soft);border:1px solid var(--line);border-radius:11px;padding:10px 14px;cursor:pointer;color:var(--text);transition:border-color .15s}.share-summary:hover{border-color:var(--accent)}.share-avatars{display:flex;align-items:center}.share-summary .chev{color:var(--faint);font-weight:700}.share-none{color:var(--faint);font-size:12.5px}.mini-avatar{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;font-weight:700;background:linear-gradient(135deg,var(--accent-soft),rgba(160,123,255,.2));color:#c5ccff;border:2px solid var(--panel);margin-left:-8px}.share-avatars .mini-avatar:first-child{margin-left:0}.share-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.share-row{display:flex;align-items:center;gap:12px;padding:9px 8px;border-radius:11px;cursor:pointer;transition:background .15s}.share-row:hover{background:var(--bg-soft)}.share-row .mini-avatar{margin-left:0}.share-row .share-name{flex:1 1;font-size:13.5px}.share-row .share-check{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.drum-dt{width:100%;justify-content:center}.drum-dt .drum-col{width:46px}.drum-units{text-align:center;color:var(--faint);font-size:11px;margin-top:8px;letter-spacing:2px}.mock-banner{background:linear-gradient(90deg,rgba(109,123,255,.12),rgba(160,123,255,.12));border-bottom:1px solid var(--line);color:#c5ccff;font-size:11.5px;letter-spacing:.4px;text-align:center;padding:8px}html[data-mode=company]{--accent:#2dd4a7;--accent-2:#3bb6ff;--accent-soft:var(--company-soft);--glow:0 0 0 1px rgba(45,212,167,0.25),0 8px 30px rgba(45,212,167,0.18)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 80% -10%,rgba(109,123,255,.12),transparent 60%),radial-gradient(900px 500px at -10% 10%,rgba(160,123,255,.09),transparent 55%),var(--bg)}.auth-card{width:100%;max-width:420px;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 26px}.auth-brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;margin-bottom:6px}.auth-brand .logo{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;color:#fff;font-weight:800;box-shadow:0 6px 18px rgba(109,123,255,.45)}.auth-card h1{font-size:20px;margin:14px 0 4px}.auth-card .sub{color:var(--muted);font-size:13px;margin-bottom:18px}.auth-card .field{margin-bottom:14px}.auth-card .btn{width:100%;justify-content:center;margin-top:6px}.auth-error{background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.4);color:#ffb0b0;border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:14px}.auth-alt{margin-top:18px;text-align:center;color:var(--muted);font-size:13px}.auth-alt a{color:var(--accent);text-decoration:none;font-weight:600}.acct-callout{margin-top:16px;padding:12px 14px;border:1px dashed var(--line);border-radius:10px;background:var(--accent-soft);font-size:13px}.sidebar a.nav-item{text-decoration:none}.sch-wrap{max-height:46vh;overflow-y:auto}.empty-state{color:var(--faint);text-align:center;padding:28px 12px;font-size:13px}@media (max-width:860px){.app{grid-template-columns:1fr}.sidebar{position:fixed;bottom:0;left:0;right:0;top:auto;height:auto;flex-direction:row;align-items:center;gap:2px;padding:6px 8px;overflow-x:auto;border-right:none;border-top:1px solid var(--line-soft);z-index:50}.sidebar .brand,.sidebar .mode-switch,.sidebar .nav-label,.sidebar .sidebar-foot{display:none}.sidebar .nav-item{flex-direction:column;gap:2px;font-size:10px;white-space:nowrap;padding:6px 10px}.main{padding-bottom:76px}}.mobile-mode-switch{display:none}@media (max-width:860px){.mobile-mode-switch{display:inline-flex}}.cal .ev.both{background:rgba(168,130,255,.16);color:#d3c1ff;border-color:rgba(168,130,255,.28)}.cal-legend .lg-both{background:#a882ff;box-shadow:0 0 8px #a882ff}.wk{overflow-x:auto;margin-top:6px}.wk-allday,.wk-grid,.wk-head{min-width:680px;display:grid;grid-template-columns:52px repeat(7,1fr)}.wk-corner{border-right:1px solid var(--line)}.wk-corner.sm{font-size:10px;color:var(--faint);display:flex;align-items:center;justify-content:flex-end;padding-right:6px}.wk-dayhead{text-align:center;font-size:12px;font-weight:700;padding:6px 2px;border-left:1px solid var(--line-soft)}.wk-dayhead small{display:block;font-size:10px;color:var(--faint);font-weight:500}.wk-dayhead.today,.wk-dayhead.today small{color:var(--accent)}.wk-allday{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line);min-height:26px}.wk-allday-cell{border-left:1px solid var(--line-soft);padding:3px;display:flex;flex-direction:column;gap:3px;min-width:0}.wk-chip{font-size:10px;background:var(--accent-soft);color:#c5ccff;border:1px solid rgba(109,123,255,.22);border-radius:5px;padding:1px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wk-chip.green{background:var(--company-soft);color:#8ff0d4;border-color:rgba(45,212,167,.22)}.wk-chip.both{background:rgba(168,130,255,.16);color:#d3c1ff;border-color:rgba(168,130,255,.28)}.wk-chip.shared{background:rgba(255,255,255,.06);color:var(--muted);border-color:var(--line)}.wk-scroll{max-height:62vh;overflow-y:auto;overflow-x:hidden}.wk-grid{position:relative}.wk-gutter{border-right:1px solid var(--line)}.wk-hour{font-size:10px;color:var(--faint);text-align:right;padding-right:6px;box-sizing:border-box;border-top:1px solid transparent}.wk-col{position:relative;border-left:1px solid var(--line-soft);background-image:linear-gradient(to bottom,var(--line-soft) 1px,transparent 1px);background-repeat:repeat-y;cursor:crosshair;touch-action:pan-y}.wk-sel{left:1px;right:1px;background:rgba(109,123,255,.22);border:1px dashed var(--accent);pointer-events:none;z-index:1}.wk-ev,.wk-sel{position:absolute;border-radius:6px}.wk-ev{overflow:hidden;font-size:10px;line-height:1.25;padding:2px 5px;background:var(--accent-soft);color:#c5ccff;border:1px solid rgba(109,123,255,.35)}.wk-ev b{font-weight:700}.wk-ev.green{background:var(--company-soft);color:#8ff0d4;border-color:rgba(45,212,167,.35)}.wk-ev.both{background:rgba(168,130,255,.2);color:#e0d4ff;border-color:rgba(168,130,255,.4)}.wk-ev.shared{background:rgba(255,255,255,.07);color:var(--muted);border-color:var(--line)}@keyframes yh-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,var(--panel-2) 25%,var(--line) 37%,var(--panel-2) 63%);background-size:200% 100%;animation:yh-shimmer 1.4s ease-in-out infinite;border-radius:8px}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.sk-line{height:12px;margin:10px 0}.sk-title{height:24px;width:42%;margin:2px 0 12px}.sk-sub{height:13px;width:26%}.sk-chip{height:30px;width:120px;border-radius:999px}.sk-row{height:64px;margin-bottom:10px}.sk-cell,.sk-row{border-radius:12px}.sk-cell{height:84px}