:root{--bg: #030014;--accent-cyan: #2EA7FF;--accent-violet: #9381FF;--accent-teal: #13DDC4;--cyan-soft: #7CC8FF;--violet-soft: #B7ACFF;--teal-soft: #8FEDE0;--danger: #FF7A93;--text-100: rgba(255, 255, 255, 1);--text-90: rgba(255, 255, 255, .9);--text-85: rgba(255, 255, 255, .85);--text-65: rgba(255, 255, 255, .65);--text-60: rgba(255, 255, 255, .6);--text-55: rgba(255, 255, 255, .55);--text-50: rgba(255, 255, 255, .5);--text-45: rgba(255, 255, 255, .45);--text-40: rgba(255, 255, 255, .4);--text-35: rgba(255, 255, 255, .35);--text-30: rgba(255, 255, 255, .3);--glass-fill: rgba(255, 255, 255, .03);--glass-fill-strong: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .1);--glass-border-soft: rgba(255, 255, 255, .08);--divider: rgba(255, 255, 255, .06);font-family:Inter,PingFang SC,Noto Sans SC,system-ui,sans-serif;color:var(--text-100);background:var(--bg)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}html{scrollbar-gutter:stable}body{background:var(--bg);color:#fff;font-family:Inter,PingFang SC,Noto Sans SC,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;min-width:320px;display:flex;justify-content:center}button,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.aurora{position:fixed;border-radius:50%;pointer-events:none;z-index:0}.aurora-cyan{width:820px;height:820px;top:-300px;right:-160px;background:radial-gradient(circle,#2ea7ff47,#1c1b3314 60%,#2ea7ff00)}.aurora-violet{width:720px;height:720px;bottom:-260px;left:-260px;background:radial-gradient(circle,#9381ff38,#9381ff00)}.aurora-teal{width:560px;height:560px;bottom:-300px;left:36%;background:radial-gradient(circle,#13ddc41f,#13ddc400)}.page{position:relative;z-index:1;width:100%;max-width:1440px;min-height:100vh;padding:28px 40px 0;display:flex;flex-direction:column}.nav{height:56px;border-radius:28px;background:var(--glass-fill-strong);border:1px solid var(--glass-border);backdrop-filter:blur(50px);-webkit-backdrop-filter:blur(50px);box-shadow:0 8px 24px #00000040,inset 0 1px #ffffff14;display:flex;align-items:center;padding:0 14px;flex-shrink:0}.logo-mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#2ea7ff,#9381ff);box-shadow:0 0 12px #2ea7ff73;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0}.brand{margin-left:12px;display:flex;flex-direction:column;justify-content:center}.brand-name{font-size:15px;font-weight:600;line-height:1.25}.brand-sub{font-size:11px;color:#ffffff73;line-height:1.3}.tabs{margin-left:auto;display:flex;align-items:center;gap:24px;height:100%}.tab{font-size:13px;color:#ffffff80;cursor:pointer;background:none;border:none;font-family:inherit;transition:color .2s}.tab:hover{color:#ffffffd9}.tab-active{height:36px;padding:0 18px;border-radius:18px;background:#2ea7ff24;border:1px solid rgba(46,167,255,.45);box-shadow:0 0 12px #2ea7ff40,inset 0 0 4px #2ea7ff59;color:var(--cyan-soft);font-weight:600;font-size:13px;cursor:pointer;font-family:inherit}.view{display:none;flex:1;flex-direction:column}.view.active{display:flex}.overline{font-size:11px;font-weight:600;letter-spacing:3px}.overline-cyan{color:var(--accent-cyan)}.overline-violet{color:var(--accent-violet)}.panel{border-radius:24px;background:var(--glass-fill);border:1px solid var(--glass-border);backdrop-filter:blur(60px);-webkit-backdrop-filter:blur(60px);box-shadow:0 12px 32px #0000004d,inset 0 1px #ffffff1a;padding:28px;display:flex;flex-direction:column;min-width:0}.panel-title{font-size:22px;font-weight:600}.panel-desc{font-size:13px;color:#ffffff8c;line-height:1.5}.glow-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot-cyan{background:var(--accent-cyan);box-shadow:0 0 6px #2ea7ffcc}.dot-teal{background:var(--accent-teal);box-shadow:0 0 6px #13ddc4cc}.dot-violet{background:var(--accent-violet);box-shadow:0 0 6px #9381ffcc}.btn-gradient{border:none;border-radius:999px;background:linear-gradient(90deg,#2ea7ff,#9381ff);box-shadow:0 4px 20px #2ea7ff66,inset 0 1px #ffffff40;color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:filter .2s,transform .15s}.btn-gradient:hover:not(:disabled){filter:brightness(1.1)}.btn-gradient:active:not(:disabled){transform:scale(.985)}.btn-gradient:disabled{opacity:.5;cursor:wait}.chip-teal{padding:9px 16px;border-radius:999px;background:#13ddc414;border:1px solid rgba(19,221,196,.3);color:var(--teal-soft);font-size:12px;cursor:pointer;font-family:inherit;transition:background .2s,box-shadow .2s}.chip-teal:hover{background:#13ddc424;box-shadow:0 0 12px #13ddc433}.footer{padding:26px 0 22px;font-size:11px;color:#ffffff4d;flex-shrink:0}.footer-center{text-align:center}.footer-split{display:flex;justify-content:space-between}.toast{position:fixed;left:50%;bottom:40px;transform:translate(-50%) translateY(20px);padding:12px 24px;border-radius:999px;background:#13ddc41f;border:1px solid rgba(19,221,196,.4);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);box-shadow:0 0 24px #13ddc440;color:var(--teal-soft);font-size:13px;z-index:10;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid rgba(46,167,255,.45);outline-offset:3px}@media (max-width: 1100px){.cal-body{grid-template-columns:1fr}.flow-main{flex-direction:column}.narrative{width:100%}.memory-main{grid-template-columns:1fr}.mem-row{grid-template-columns:150px 50px 1fr 40px 110px 40px}}@media (max-width: 640px){.page{padding:16px 16px 0}.tabs{gap:16px}.tab-active{padding:0 14px}.panel{padding:22px}.cal-header{flex-direction:column;gap:12px}.pager-wrap{margin-left:0;text-align:left}.hero-line{font-size:34px}.steps{display:none}.flow-main{margin-top:28px;gap:28px}.mem-row{grid-template-columns:1fr 56px 44px}.mem-head{display:none}.mem-row>:nth-child(3){grid-column:1 / 2}.mem-row>:nth-child(4){grid-column:2 / 3;grid-row:1}.mem-row>:nth-child(5){grid-column:3 / 4;grid-row:1;text-align:right}.mem-row>:nth-child(6){grid-column:1 / -1;text-align:left}.mem-row{padding:4px 0}.meta-row{flex-direction:column;gap:5px}.action-row{display:grid;grid-template-columns:1fr 1fr}.action-row .btn-confirm{grid-column:1 / -1;grid-row:1}.action-row .btn-ghost,.action-row .btn-danger{width:100%}.review-actions{flex-direction:column-reverse}.review-actions .btn-gradient-memory,.review-actions .btn-ghost-memory{width:100%}.footer-split{flex-direction:column;gap:4px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.login-page{align-items:center;justify-content:center;padding-bottom:0;min-height:100vh}.login-card{width:100%;max-width:420px;margin-top:-6vh;border-radius:24px;background:var(--glass-fill);border:1px solid var(--glass-border);backdrop-filter:blur(60px);-webkit-backdrop-filter:blur(60px);box-shadow:0 12px 32px #0000004d,inset 0 1px #ffffff1a;padding:40px 36px 32px;display:flex;flex-direction:column;align-items:center;text-align:center}.login-mark{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#2ea7ff,#9381ff);box-shadow:0 0 20px #2ea7ff73;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;margin-bottom:18px}.login-card .overline{margin-bottom:10px}.login-title{font-size:24px;font-weight:600;margin-bottom:10px}.login-form{width:100%;margin-top:22px;display:flex;flex-direction:column}.login-form .input-label{text-align:left;font-size:13px;font-weight:500}.login-input{display:block;width:100%;height:48px;border-radius:14px;background:var(--glass-fill-strong);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 2px 6px #00000040;padding:0 14px;color:#fff;font-family:inherit;font-size:13px;line-height:1.5;outline:none;transition:border-color .2s,box-shadow .2s;margin-top:10px}.login-input::placeholder{color:#ffffff59}.login-input:focus{border-color:#2ea7ff73;box-shadow:inset 0 2px 6px #00000040,0 0 16px #2ea7ff26}@media (max-width: 640px){.login-card{padding:32px 22px 26px}}.message-box{margin-top:14px;padding:10px 14px;border-radius:12px;font-size:12px;line-height:1.55}.message-box.is-error{color:#ff9db1;background:#ff7a9314;border:1px solid rgba(255,122,147,.3)}.message-box.is-notice{color:#7cc8ff;background:#2ea7ff14;border:1px solid rgba(46,167,255,.25)}.message-box.is-question{color:#e8d48f;background:#e8d48f14;border:1px solid rgba(232,212,143,.28)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--glass-fill-strong);border:1px solid var(--glass-border);font-size:11px;color:#fff9;align-self:flex-start}.try-label{font-size:12px;color:#ffffff73;margin-top:14px}.chips-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.cal-body{display:grid;grid-template-columns:1fr 396px;gap:24px;margin-top:28px;flex:1}.cal-full{grid-column:1 / -1;width:100%;min-height:calc(100vh - 160px)}.cal-grid-col{display:flex;flex-direction:column;flex:1;min-width:0;margin-top:16px}.records-view{margin-top:16px;flex:1;display:flex;flex-direction:column}.cal-header{display:flex;align-items:flex-start}.cal-title{font-size:28px;font-weight:600;margin-top:4px}.pager-wrap{margin-left:auto;text-align:right}.pager{height:40px;border-radius:20px;padding:0 14px;background:var(--glass-fill-strong);border:1px solid var(--glass-border);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);display:inline-flex;align-items:center;gap:18px}.pager-arrow{background:none;border:none;color:#ffffff80;font-size:16px;cursor:pointer;font-family:inherit}.pager-arrow:hover:not(:disabled){color:#fff}.pager-arrow:disabled{opacity:.3;cursor:default}.pager-month{font-size:14px;font-weight:600}.pager-sub{font-size:11px;color:#fff6;margin-top:6px}.cat-tabs{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.cat-tab{padding:10px 18px;border-radius:999px;background:var(--glass-fill-strong);border:1px solid var(--glass-border);color:#ffffff8c;font-size:13px;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s}.cat-tab:hover{color:#ffffffd9}.cat-tab.active{background:#2ea7ff24;border-color:#2ea7ff73;box-shadow:0 0 12px #2ea7ff40,inset 0 0 4px #2ea7ff59;color:var(--cyan-soft);font-weight:600}.weekday-row{display:grid;grid-template-columns:repeat(7,1fr);font-size:11px;color:#fff6;font-weight:500;text-align:center;margin-bottom:16px}.weekday-row span:first-child,.weekday-row span:last-child{color:var(--cyan-soft)}.cal-grid{flex:1;display:grid;grid-template-rows:repeat(6,1fr);gap:1px;border-radius:12px;overflow:hidden;background:#ffffff0d}.cal-row{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.cal-cell{background:#ffffff05;border:none;color:inherit;font-family:inherit;text-align:left;padding:8px;display:flex;flex-direction:column;justify-content:space-between;min-height:0;cursor:pointer;transition:background .2s;position:relative}.cal-cell:hover:not(.is-empty){background:#ffffff0d}.cal-cell.is-empty{cursor:default}.cal-cell .num{align-self:flex-end;font-size:14px;font-weight:500;color:#ffffff59;font-variant-numeric:tabular-nums}.cal-cell.has-record{background:#ffffff08}.cal-cell.has-record .num{color:#ffffff73}.cal-cell.selected{background:#2ea7ff1a;box-shadow:inset 0 0 0 1px #2ea7ff8c,inset 0 0 6px #2ea7ff40,0 0 16px #2ea7ff4d}.cal-cell.selected .num{color:var(--cyan-soft);font-weight:600}.cal-cell.is-today .num{color:var(--teal-soft);font-weight:600}.event-chips{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.evt{padding:2px 6px;border-radius:5px;font-size:9px;white-space:nowrap}.evt-violet{background:#9381ff29;color:var(--violet-soft)}.evt-cyan{background:#2ea7ff1f;color:var(--cyan-soft)}.evt-teal{background:#13ddc41f;color:var(--teal-soft)}.detail-head{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.detail-date{font-size:20px;font-weight:600}.week-badge{padding:4px 12px;border-radius:999px;background:#2ea7ff1f;border:1px solid rgba(46,167,255,.35);color:var(--cyan-soft);font-size:11px}.detail-divider{height:1px;background:var(--glass-border-soft);margin:14px 0}.kv-section{display:flex;flex-direction:column;gap:8px}.kv-head{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.kv-row{display:flex;justify-content:space-between;font-size:12px}.kv-k{color:#ffffff73}.kv-v{font-size:13px;color:#ffffffe6;font-weight:500}.kv-empty{font-size:13px;color:#ffffff59}.kv-done{color:#5fe8d2}.title-row{display:flex;align-items:center;gap:10px;margin-top:14px}.title-row .panel-title{margin-top:0}.count-badge{padding:3px 10px;border-radius:999px;background:#9381ff26;border:1px solid rgba(147,129,255,.4);color:#b7acff;font-size:11px;font-weight:600;white-space:nowrap}.records-table-wrap{margin-top:14px;overflow-x:auto}.records-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.records-table th{padding:8px 10px;text-align:left;font-size:11px;letter-spacing:1px;font-weight:500;color:var(--text-40);border-bottom:1px solid var(--glass-border-soft);white-space:nowrap}.records-table td{padding:12px 10px;border-bottom:1px solid var(--divider);color:var(--text-85);vertical-align:top;line-height:1.5;white-space:nowrap}.records-table td:last-child{white-space:normal;word-break:break-word}.records-table tr:last-child td{border-bottom:none}.table-date-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.value-unknown{color:var(--text-35)}.value-no{color:#ff7a93cc}.records-empty{margin-top:14px;flex:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-45);line-height:1.6}.flow-main{display:flex;gap:60px;margin-top:44px;flex:1}.narrative{width:520px;flex-shrink:0;display:flex;flex-direction:column;gap:18px}.hero-title{display:flex;flex-direction:column;gap:6px}.hero-line{font-size:44px;font-weight:600;line-height:1.2}.hero-line.gradient{background:linear-gradient(90deg,#7cc8ff,#8fede0);-webkit-background-clip:text;background-clip:text;color:transparent}.steps{display:flex;flex-direction:column;gap:10px;margin-top:6px}.step{display:flex;gap:14px;align-items:center;padding:14px;border-radius:16px;border:1px solid transparent}.step.active{background:#2ea7ff14;border-color:#2ea7ff4d;box-shadow:0 0 16px #2ea7ff26}.step-num{font-size:12px;font-weight:600;color:#ffffff59}.step.active .step-num{color:var(--cyan-soft)}.step-title{font-size:14px;font-weight:600;color:#ffffffb3}.step.active .step-title{color:#fff}.step-desc{font-size:12px;color:#fff6;margin-top:3px}.step.active .step-desc{color:#ffffff73}.flow-card{flex:1;padding:32px}.flow-card .overline{margin-top:14px}.flow-title{font-size:24px;font-weight:600;margin-top:14px}.flow-desc{font-size:13px;color:#ffffff8c;margin-top:14px;line-height:1.5}.input-label{font-size:13px;font-weight:500;margin-top:14px}.textarea-wrap{position:relative;margin-top:14px}.flow-textarea{display:block;width:100%;height:190px;border-radius:16px;background:var(--glass-fill-strong);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 2px 6px #00000040;padding:13px 14px;resize:none;color:#fff;font-family:inherit;font-size:13px;line-height:1.5;outline:none;transition:border-color .2s,box-shadow .2s}.flow-textarea::placeholder{color:#ffffff59}.flow-textarea:focus{border-color:#2ea7ff73;box-shadow:inset 0 2px 6px #00000040,0 0 16px #2ea7ff26}.flow-textarea.has-counter{padding-bottom:30px}.ta-counter{position:absolute;right:14px;bottom:12px;font-size:11px;color:#ffffff4d;font-variant-numeric:tabular-nums}.flow-hint{font-size:12px;color:#fff6;margin-top:14px;line-height:1.5}.flow-spacer{flex:1}.btn-full{width:100%;height:52px;margin-top:14px}.quote-block{margin-top:14px;border-radius:12px;padding:14px;background:#13ddc40f;border:1px solid rgba(19,221,196,.2);display:flex;flex-direction:column;gap:4px}.quote-label{font-size:11px;color:#5fe8d2}.quote-text{font-size:13px;color:#ffffffd9;line-height:1.5}.meta-row{display:flex;justify-content:space-between;margin-top:14px;font-size:11px}.meta-ttl{color:var(--cyan-soft);font-variant-numeric:tabular-nums}.meta-note{color:#ffffff59}.diff-list{display:flex;flex-direction:column;gap:10px}.diff-group{margin-top:14px;border-radius:16px;padding:16px;background:#ffffff05;border:1px solid var(--glass-border-soft);display:flex;flex-direction:column;gap:10px}.diff-head{display:flex;justify-content:space-between;align-items:center}.diff-title{font-size:14px;font-weight:600}.diff-date{font-size:11px;color:#fff6}.diff-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.diff-label{width:76px;font-size:12px;color:#ffffff80;flex-shrink:0}.diff-chip{padding:4px 10px;border-radius:6px;font-size:11px}.chip-old{background:#ffffff0f;color:#ffffff80}.chip-new{background:#13ddc41f;border:1px solid rgba(19,221,196,.3);color:var(--teal-soft);font-weight:500}.chip-none{background:#ffffff0f;color:#ffffff73}.diff-arrow{font-size:12px;color:#ffffff59}.action-row{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.btn-ghost{padding:12px 22px;border-radius:999px;background:var(--glass-fill-strong);border:1px solid rgba(255,255,255,.12);color:#ffffffa6;font-size:13px;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s}.btn-ghost:hover:not(:disabled){color:#fff;border-color:#ffffff40}.btn-danger{padding:12px 22px;border-radius:999px;background:#ff4d6d0f;border:1px solid rgba(255,77,109,.25);color:var(--danger);font-size:13px;cursor:pointer;font-family:inherit;transition:background .2s}.btn-danger:hover:not(:disabled){background:#ff4d6d1f}.btn-ghost:disabled,.btn-danger:disabled{opacity:.5;cursor:wait}.btn-confirm{padding:12px 26px;font-size:13px}.memory-main{display:grid;grid-template-columns:460px 1fr;gap:24px;margin-top:28px;flex:1}.memory-textarea{height:128px}.mem-chips{flex-direction:column;align-items:flex-start}.mem-row{display:grid;grid-template-columns:208px 64px 1fr 56px 140px 44px;gap:8px;align-items:center;min-height:72px}.mem-head{min-height:34px;font-size:11px;letter-spacing:1px;color:#fff6;font-weight:500}.mem-key{justify-self:start;padding:5px 10px;border-radius:8px;background:#2ea7ff14;border:1px solid rgba(46,167,255,.25);color:var(--cyan-soft);font-size:11px;font-family:SF Mono,JetBrains Mono,monospace;white-space:nowrap}.mem-cat-pref{font-size:12px;color:var(--cyan-soft)}.mem-cat-profile{font-size:12px;color:var(--violet-soft)}.mem-cat-constraint{font-size:12px;color:var(--teal-soft)}.mem-cat-decision{font-size:12px;color:var(--violet-soft)}.mem-cat-project{font-size:12px;color:var(--cyan-soft)}.mem-content{font-size:13px;color:#ffffffd9;line-height:1.5;word-break:break-word}.mem-imp{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.imp-high{background:#13ddc41f;border:1px solid rgba(19,221,196,.45);color:#5fe8d2}.imp-mid{background:#13ddc414;border:1px solid rgba(19,221,196,.25);color:#5fe8d2b3}.imp-low{background:#13ddc40d;border:1px solid rgba(19,221,196,.15);color:#5fe8d273}.mem-time{font-size:12px;color:#ffffff73;font-variant-numeric:tabular-nums}.mem-del{background:none;border:none;font-family:inherit;font-size:12px;color:var(--danger);cursor:pointer;opacity:.85;transition:opacity .2s,text-shadow .2s}.mem-del:hover:not(:disabled){opacity:1;text-shadow:0 0 10px rgba(255,122,147,.5)}.mem-del:disabled{opacity:.4;cursor:wait}.mem-empty{margin-top:14px;padding:24px 6px;font-size:13px;color:var(--text-45);line-height:1.6}.mem-list{margin-top:14px;display:flex;flex-direction:column}.review-list{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding:0;list-style:none}.review-item{padding:14px 16px;border-radius:16px;background:var(--glass-fill-strong);border:1px solid var(--glass-border)}.review-item-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.review-item>.mem-content{margin-top:8px}.review-delete-tag{font-size:12px;color:var(--danger)}.review-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:14px}.btn-ghost-memory{height:52px;padding:0 24px;border-radius:999px;background:var(--glass-fill-strong);border:1px solid rgba(255,255,255,.12);color:#ffffffa6;font-size:13px;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s}.btn-ghost-memory:hover:not(:disabled){color:#fff;border-color:#ffffff40}.btn-ghost-memory:disabled{opacity:.5;cursor:wait}.btn-gradient-memory{width:auto;padding:0 26px;margin-top:0}
