:root{--bg:#f3efe6;--bg-accent:#e4ddd0;--surface:#fffcf7;--ink:#1c241c;--muted:#5f6b5f;--line:#d5cec0;--brand:#2f5d3a;--brand-strong:#23472c;--danger:#8b3a2f;--focus:#3d7a4a;--shadow:0 10px 30px #1c241c14;--radius:14px;--font:Arial, Helvetica, sans-serif;--font-brand:"Lilita One", "Segoe UI", cursive;--mono:ui-monospace, Consolas, monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(circle at top right, #dce8d8 0%, transparent 40%), linear-gradient(180deg, var(--bg) 0%, var(--bg-accent) 100%);background-attachment:fixed;margin:0}a{color:var(--brand);text-decoration:none}button,input,textarea,select{font:inherit}.shell{max-width:720px;min-height:100vh;margin:0 auto;padding-bottom:3rem}.topbar{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f3efe6eb;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;display:flex;position:sticky;top:0}.topbar-left,.topbar-right{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.brand{font-family:var(--font-brand);letter-spacing:.02em;color:var(--ink);margin:0;font-size:1.65rem;font-weight:400;line-height:1.1}.brand-mark{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:1.35rem;font-weight:700}.topbar-titles{gap:.15rem;min-width:0;display:grid}.page-title{white-space:nowrap;text-overflow:ellipsis;max-width:min(18rem,55vw);margin:0;font-size:1rem;font-weight:600;overflow:hidden}.back-link{color:var(--muted);flex-shrink:0;font-size:.95rem}.breadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.15rem .2rem;max-width:min(28rem,70vw);font-size:.78rem;line-height:1.3;display:flex}.breadcrumb-item{align-items:center;gap:.2rem;min-width:0;display:inline-flex}.breadcrumb-sep{color:#9aa39a;margin-inline:.1rem}.breadcrumb-link{color:var(--brand);white-space:nowrap;text-overflow:ellipsis;max-width:8.5rem;overflow:hidden}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-current,.breadcrumb-text{white-space:nowrap;text-overflow:ellipsis;max-width:9rem;overflow:hidden}.breadcrumb-current{color:var(--ink);font-weight:600}.content{padding:1rem}.user-chip{color:var(--muted);font-size:.85rem}.user-chip-link:hover{color:var(--brand);text-decoration:underline}.Account .muted.small,.panel .muted.small{margin:-.35rem 0 0}.lang-switch{align-self:start;align-items:center;gap:0;display:inline-flex}.select{width:100%;position:relative}.select-sm{width:auto;min-width:5.5rem}.select-trigger{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;text-align:left;background:linear-gradient(#fffcf7 0%,#f7f2e8 100%);border-radius:10px;justify-content:space-between;align-items:center;gap:.55rem;padding:.7rem .8rem;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:inset 0 1px #ffffffb3}.select-sm .select-trigger{width:auto;min-width:5.5rem;box-shadow:none;border-radius:999px;padding:.3rem .65rem;font-size:.85rem}.select-open .select-trigger,.select-trigger:hover:not(:disabled){border-color:#b9c7b4;box-shadow:0 0 0 3px #3d7a4a1f}.select-trigger:disabled{opacity:.6;cursor:not-allowed}.select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-caret{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex-shrink:0;width:.45rem;height:.45rem;transition:transform .15s;transform:rotate(45deg)translateY(-1px)}.select-open .select-caret{transform:rotate(225deg)translateY(-1px)}.select-menu{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-height:14rem;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:auto;box-shadow:0 14px 32px #1c241c24}.select-sm .select-menu{border-radius:12px;min-width:100%;right:auto}.select-option{cursor:pointer;color:var(--ink);border-radius:8px;align-items:center;gap:.5rem;padding:.55rem .7rem;display:flex}.select-option.is-active{background:#eef4ea}.select-option.is-selected{font-weight:600}.select-swatch{border-radius:999px;flex-shrink:0;width:.65rem;height:.65rem}.select-tone-backlog .select-trigger,.select-option.tone-backlog.is-selected,.select-option.tone-backlog.is-active{color:#555;background:#e4e4e4;border-color:#c8c8c8}.select-tone-todo .select-trigger,.select-option.tone-todo.is-selected,.select-option.tone-todo.is-active{color:#7a5d12;background:#f7ecc2;border-color:#e2d08a}.select-tone-doing .select-trigger,.select-option.tone-doing.is-selected,.select-option.tone-doing.is-active{color:#21553a;background:#d8ebe0;border-color:#a9cbb8}.select-tone-done .select-trigger,.select-option.tone-done.is-selected,.select-option.tone-done.is-active{color:#2c4a6e;background:#dce8f5;border-color:#b0c5dd}.select-tone-canceled .select-trigger,.select-option.tone-canceled.is-selected,.select-option.tone-canceled.is-active{color:#8b3a2f;background:#f0ddd8;border-color:#dcb0a6}.select-swatch.tone-backlog{background:#555}.select-swatch.tone-todo{background:#c9a227}.select-swatch.tone-doing{background:#2f5d3a}.select-swatch.tone-done{background:#3a6ea5}.select-swatch.tone-canceled{background:#8b3a2f}.select-tone-backlog .select-caret,.select-tone-todo .select-caret,.select-tone-doing .select-caret,.select-tone-done .select-caret,.select-tone-canceled .select-caret{border-color:currentColor}.select-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{cursor:pointer;border:0;border-radius:999px;padding:.7rem 1.1rem;font-weight:600}.btn-primary{background:var(--brand);color:#f7fff8}.btn-primary:hover{background:var(--brand-strong)}.btn-secondary{color:var(--ink);background:#dfe8db}.btn-ghost{color:var(--muted);background:0 0;padding-inline:.6rem}.btn-delete{color:var(--danger);text-transform:uppercase;letter-spacing:.04em;background:0 0;padding-inline:.6rem}.btn-sm{padding:.35rem .7rem;font-size:.85rem}.btn:disabled{opacity:.6;cursor:not-allowed}.stack,.stack-lg{gap:.85rem;display:grid}.stack-lg{gap:2rem}.row-between,.row-gap,.meta-row,.inline-form,.member-row{align-items:center;gap:.6rem;display:flex}.row-between,.member-row{flex-wrap:wrap;justify-content:space-between}.inline-form{width:100%}.inline-form input{flex:1}.grid-2{gap:.75rem;display:grid}@media (width>=560px){.grid-2{grid-template-columns:1fr 1fr}}label{gap:.35rem;font-size:.92rem;display:grid}input,textarea,select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;padding:.7rem .8rem}input:focus,textarea:focus,select:focus,.btn:focus-visible,.chip:focus-visible,.tab:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.panel,.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.phase{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:linear-gradient(#fffcf7 0%,#f8f4ec 100%);gap:1.35rem;padding:1.4rem 1.25rem 1.55rem;scroll-margin-top:5rem;display:grid;box-shadow:0 12px 28px #1c241c12}.parent-nav{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.nav-target-flash{animation:1.4s navFlash}@keyframes navFlash{0%,to{box-shadow:0 12px 28px #1c241c12}35%{box-shadow:0 0 0 3px #3d7a4a59}}.phase>.row-between{border-bottom:1px solid var(--line);align-items:flex-start;margin-bottom:.1rem;padding-bottom:.85rem}.task-list{background:#fffcf7eb;border:1px solid #d9d2c4;border-radius:12px;gap:1rem;padding:1.15rem 1.05rem 1.2rem;scroll-margin-top:5rem;display:grid;box-shadow:inset 0 1px #ffffffb3}.task-list>.row-between{border-bottom:1px dashed #ddd5c6;padding-bottom:.55rem}.phase h2{letter-spacing:-.02em;margin:0;font-size:1.25rem}.task-list h3{color:#3a453a;margin:0;font-size:1.02rem;font-weight:600}.panel h3{margin:0}.lead{color:var(--muted);margin:0 0 1rem}.muted{color:var(--muted)}.small{font-size:.82rem}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.25rem 0 0;display:-webkit-box;overflow:hidden}.error{color:var(--danger);margin:0}.card-list,.task-rows,.activity-list,.comment-list,.suggest-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.task-rows{gap:.9rem;padding:.15rem 0 .25rem}.card-link,.task-row{background:var(--surface);border:1px solid var(--line);color:inherit;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem 1rem;display:flex}.task-row{background:#fffcf7;border-color:#d8d0c0;transition:border-color .15s,background .15s}.task-row:hover{background:#f7fbf4;border-color:#b9c7b4}.task-block{gap:.55rem;display:grid}.subtask-rows{border-left:2px solid #cfd8cb;gap:.45rem;margin:0 0 0 .85rem;padding:.15rem 0 .35rem 1rem;list-style:none;display:grid}.subtask-row{background:#f4f1e8;border-style:solid;border-color:#ddd6c8;padding:.7rem .9rem}.subtask-row:hover{background:#eef4ea}.subtask-title{font-size:.95rem}.phase>.inline-form,.task-list>.inline-form{border-top:1px dashed #ddd5c6;margin-top:.15rem;padding-top:.85rem}.chevron{color:var(--muted);font-size:1.4rem}.tabs{gap:.35rem;margin:0 0 1.35rem;display:flex;overflow-x:auto}.tab{border:1px solid var(--line);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:.55rem .9rem}.tab.on{background:var(--brand);border-color:var(--brand);color:#f7fff8}.badge{border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-backlog{color:#555;background:#e4e4e4}.badge-todo{color:#7a5d12;background:#f7ecc2}.badge-doing{color:#21553a;background:#d8ebe0}.badge-done{color:#2c4a6e;background:#dce8f5}.badge-canceled{color:#8b3a2f;background:#f0ddd8}.chip-grid{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--line);cursor:pointer;background:#f7f3ea;border-radius:999px;padding:.4rem .75rem}.chip-on{background:var(--brand);border-color:var(--brand);color:#f7fff8}.field-label{margin-bottom:.4rem;font-size:.92rem;display:block}.activity-list li,.comment-item{border-bottom:1px solid var(--line);padding:.75rem 0}.activity-list li:last-child,.comment-list>.comment-item:last-child{border-bottom:0}.comment-meta{justify-content:space-between;gap:.5rem;margin-bottom:.25rem;display:flex}.comment-actions{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.comment-replies{border-left:2px solid #cfd8cb;gap:.35rem;margin:.65rem 0 0;padding:0 0 0 .85rem;list-style:none;display:grid}.comment-reply{background:#f7f3ea;border-bottom:0;border-radius:10px;padding:.55rem .75rem}.comment-reply-form{margin-top:.55rem}.auth-page{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.auth-card{width:min(100%,420px)}.auth-top{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.auth-footer{color:var(--muted);margin:1rem 0 0}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.location-picker{gap:.55rem;display:grid}.location-input-wrap{position:relative}.location-suggest{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-height:14rem;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto;box-shadow:0 14px 32px #1c241c24}.location-suggest-static{box-shadow:none;position:static}.location-suggest button{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;padding:.55rem .7rem}.location-suggest button:hover{background:#eef4ea}.location-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.location-open-link{font-size:.88rem}.location-map{border:1px solid var(--line);background:#e8e4da;border-radius:12px;min-height:180px;overflow:hidden}.location-map iframe,.location-picker-map{border:0;width:100%;height:200px;display:block}.location-picker-map{border:1px solid var(--line);border-radius:12px;height:260px}.location-modal-backdrop{z-index:80;background:#1c241c73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.location-modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(100%,520px);max-height:min(90vh,640px);box-shadow:var(--shadow);gap:.75rem;padding:1rem;display:grid;overflow:auto}.location-modal h3{margin:0}.location-pick-label{color:var(--muted);margin:0;font-size:.9rem}.pac-container{z-index:90;border:1px solid var(--line);font-family:var(--font);border-radius:12px;box-shadow:0 14px 32px #1c241c24}
