:root{font-family:Klee One,cursive;color:#292821;background:#eee9dd;font-synthesis:none;--ink: #292821;--muted: #767267;--paper: #f9f6ef;--accent: #d96c3f;--note-size: 220px;color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%}body{min-height:100vh;background:radial-gradient(circle at 7% 0%,rgba(255,255,255,.7),transparent 30%),linear-gradient(135deg,#f3efe6,#e9e2d4)}button,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:32px 42px 22px;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.brand{display:flex;align-items:center;gap:15px}.brand-mark{position:relative;width:42px;height:42px;display:grid;grid-template-columns:repeat(2,17px);gap:4px;transform:rotate(-2deg)}.brand-mark i{display:block;background:#f4c95d;box-shadow:0 3px 6px #4633141f}.brand-mark i:nth-child(2){background:#e98e6b;transform:rotate(5deg)}.brand-mark i:nth-child(3){background:#80bbc3;transform:rotate(-4deg)}.eyebrow{margin:0 0 2px;font-size:10px;font-weight:700;letter-spacing:.22em;color:#969083}h1{margin:0;font-size:clamp(23px,2vw,30px);line-height:1;letter-spacing:-.035em}.header-actions{display:flex;align-items:center;gap:24px}.theme-toggle{position:relative;width:42px;height:42px;flex:0 0 42px;padding:0;overflow:hidden;border:1px solid rgba(64,58,47,.12);border-radius:50%;color:#645f54;background:#ffffff7a;box-shadow:0 2px 8px #4234240d;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}.theme-toggle:hover{color:var(--ink);background:#ffffffc7;transform:translateY(-1px)}.theme-toggle:focus-visible{outline:3px solid rgba(116,166,133,.28);outline-offset:2px}.theme-icon{position:absolute;inset:0;display:grid;place-items:center;font:20px/1 DM Sans,sans-serif;transition:opacity .2s ease,transform .25s ease}.theme-icon-dark{opacity:0;transform:translateY(14px) rotate(25deg)}:root[data-theme=dark] .theme-icon-light{opacity:0;transform:translateY(-14px) rotate(-25deg)}:root[data-theme=dark] .theme-icon-dark{opacity:1;transform:translateY(0) rotate(0)}.save-status{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:12px}.status-dot{width:7px;height:7px;border-radius:50%;background:#74a685;box-shadow:0 0 0 3px #74a68521}.save-status.saving .status-dot{background:#d9a64e}.new-note-colors{min-height:44px;padding:6px 9px;display:flex;align-items:center;gap:7px;border:1px solid rgba(64,58,47,.1);border-radius:10px;background:#ffffff6b}.color-label{margin-right:2px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.05em;white-space:nowrap}.color-choice{width:23px;height:23px;padding:0;border:2px solid rgba(255,255,255,.88);border-radius:50%;background:var(--choice-color);box-shadow:0 0 0 1px #342d211f;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.color-choice:hover{transform:scale(1.12)}.color-choice.selected{box-shadow:0 0 0 2px #3f3c33,0 0 0 4px #ffffffa6;transform:scale(.86)}.color-choice.yellow{--choice-color: #f2d66f}.color-choice.pink{--choice-color: #edaaae}.color-choice.blue{--choice-color: #9bcbd8}.color-choice.green{--choice-color: #b9d39b}.add-button{min-height:48px;padding:0 20px;display:flex;align-items:center;gap:9px;border:0;border-radius:9px;color:#fff;background:var(--ink);box-shadow:0 7px 15px #2928212b;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.add-button span:first-child{font-size:22px;line-height:0;font-weight:400}.add-button:hover{background:#46443a;transform:translateY(-2px);box-shadow:0 9px 20px #29282133}.add-button:active{transform:translateY(0)}.project-toolbar{margin:-7px 0 14px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(64,58,47,.1);border-radius:12px;background:#ffffff61}.project-select-wrap{min-width:0;display:flex;align-items:center;gap:11px}.project-select-wrap>span{color:#989184;font:700 9px/1 DM Sans,sans-serif;letter-spacing:.18em}.project-select-wrap select{max-width:min(340px,40vw);min-height:40px;padding:0 38px 0 13px;border:1px solid rgba(64,58,47,.15);border-radius:8px;color:var(--ink);background:#ffffffb8;font:600 14px/1.4 Klee One,cursive;cursor:pointer}.project-select-wrap select:focus{outline:3px solid rgba(116,166,133,.15);border-color:#435b5266}.project-actions{display:flex;align-items:center;gap:5px}.project-actions button{min-height:38px;padding:0 11px;display:flex;align-items:center;gap:5px;border:0;border-radius:7px;color:#625e54;background:transparent;font-size:11px;font-weight:600;cursor:pointer;transition:color .15s,background .15s}.project-actions button:hover{color:var(--ink);background:#ffffffa6}.project-actions button.danger:hover{color:#93443a;background:#ce68591a}.project-actions button:disabled{opacity:.35;cursor:not-allowed;background:transparent}.project-dialog{width:min(430px,calc(100% - 28px));padding:0;border:0;border-radius:16px;color:var(--ink);background:#faf7ef;box-shadow:0 24px 70px #29221957}.project-dialog::backdrop{background:#251f197a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.project-dialog form{position:relative;padding:30px}.dialog-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;color:#777166;background:transparent;font-size:21px;cursor:pointer}.dialog-close:hover{background:#423a2f12}.dialog-eyebrow{margin:0 0 5px;color:#8b998c;font:700 9px/1 DM Sans,sans-serif;letter-spacing:.2em}.project-dialog h2{margin:0 0 24px;font-size:22px}.project-dialog label{display:block;margin-bottom:7px;color:#706b60;font-size:12px;font-weight:600}.project-dialog input{width:100%;min-height:50px;padding:0 14px;border:1px solid rgba(64,58,47,.18);border-radius:9px;outline:0;color:var(--ink);background:#fff;font:600 16px/1.4 Klee One,cursive}.project-dialog input:focus{border-color:#779481;box-shadow:0 0 0 3px #74a68524}.dialog-error{min-height:18px;margin:6px 0 4px;color:#a3463d;font-size:11px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.dialog-actions button{min-height:43px;padding:0 17px;border:0;border-radius:8px;font-weight:600;cursor:pointer}.dialog-cancel{color:#686359;background:#ece7dc}.dialog-submit{color:#fff;background:#3f594b}.search-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:-7px 0 12px}.search-field{width:min(370px,100%);min-height:44px;padding:0 13px;display:flex;align-items:center;gap:10px;border:1px solid rgba(64,58,47,.13);border-radius:10px;background:#ffffff8f;box-shadow:0 2px 8px #4234240a;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.search-field:focus-within{border-color:#435b5266;background:#ffffffd1;box-shadow:0 0 0 3px #74a6851f}.search-icon{position:relative;width:15px;height:15px;flex:0 0 15px;border:1.8px solid #777266;border-radius:50%}.search-icon:after{content:"";position:absolute;right:-5px;bottom:-3px;width:7px;height:1.8px;border-radius:2px;background:#777266;transform:rotate(45deg)}.search-field input{width:100%;min-width:0;padding:10px 2px;border:0;outline:0;color:var(--ink);background:transparent;font:600 14px/1.4 Klee One,cursive}.search-field input::placeholder{color:#928d81;font-weight:400}.search-count{min-width:72px;color:#69655b;font-size:13px;font-weight:600;white-space:nowrap}.status-filters{padding:3px;display:flex;align-items:center;border:1px solid rgba(64,58,47,.12);border-radius:10px;background:#ffffff6b}.status-filters button{min-height:36px;padding:0 14px;border:0;border-radius:7px;color:#746f64;background:transparent;font-size:12px;font-weight:600;cursor:pointer;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.status-filters button:hover{color:var(--ink)}.status-filters button.selected{color:#fff;background:#4a6658;box-shadow:0 3px 8px #354b3f33}.arrange-button{min-height:42px;padding:0 14px;display:flex;align-items:center;gap:8px;border:1px solid rgba(64,58,47,.13);border-radius:9px;color:#625e54;background:#ffffff80;font-size:12px;font-weight:600;cursor:pointer;transition:color .15s ease,background .15s ease,transform .15s ease}.arrange-button:hover{color:var(--ink);background:#ffffffd1;transform:translateY(-1px)}.arrange-button:active{transform:translateY(0)}.arrange-button:disabled{opacity:.38;cursor:not-allowed;transform:none}.grid-icon{width:15px;height:15px;display:grid;grid-template-columns:repeat(2,6px);grid-template-rows:repeat(2,6px);gap:3px}.grid-icon i{display:block;border:1.4px solid currentColor;border-radius:1px}.completion-zone{min-height:64px;margin-bottom:14px;padding:10px 16px;display:flex;align-items:center;gap:12px;border:2px dashed rgba(74,102,88,.36);border-radius:11px;color:#4a6658;background:#dce8da5c;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.completion-zone.drop-active{border-color:#4f8064;background:#c6e1c9c7;box-shadow:0 0 0 4px #4f80641f;transform:scale(1.006)}.completion-check{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#6e9c7d;font-size:20px;font-weight:700}.completion-zone strong{display:block;font-size:14px}.completion-zone small{display:block;margin-top:1px;color:#7b887d;font-size:10px}.completion-count{margin-left:auto;padding:5px 10px;border-radius:999px;background:#ffffffa6;font-size:11px;font-weight:600;white-space:nowrap}.board-frame{flex:1;min-height:600px;padding:13px;border-radius:8px;background:#4b352a;box-shadow:0 18px 45px #4d3a2938,0 2px 3px #2b1e152e}.board{position:relative;width:100%;height:100%;min-height:574px;overflow:hidden;border-radius:2px;background-color:#b8875e;background-image:radial-gradient(circle at 15% 25%,rgba(69,38,20,.1) 0 1px,transparent 1.4px),radial-gradient(circle at 80% 60%,rgba(255,255,255,.08) 0 1px,transparent 1.5px),repeating-linear-gradient(82deg,transparent 0 13px,rgba(80,45,26,.018) 14px,transparent 16px),linear-gradient(110deg,rgba(255,255,255,.08),transparent 38%,rgba(74,41,20,.05));background-size:23px 29px,31px 37px,auto,auto;box-shadow:inset 0 0 36px #42251429;touch-action:none}.empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#382518a8;pointer-events:none;transition:opacity .2s ease}.empty-state.hidden{opacity:0}.empty-icon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:14px;border:1.5px dashed rgba(56,37,24,.38);border-radius:50%;font-size:28px;font-weight:300}.empty-state p{margin:0 0 5px;font-weight:700;font-size:17px}.empty-state span{font-size:12px}.sticky-note{position:absolute;width:var(--note-size);height:var(--note-size);padding:0;display:flex;flex-direction:column;background:linear-gradient(105deg,rgba(255,255,255,.13),transparent 28%),var(--note-color, #f3d66f);box-shadow:1px 2px 2px #34221529,4px 9px 13px #34221538,10px 17px 24px #3422151a,inset 0 1px #ffffff57;transform:rotate(var(--rotation, 0deg));transform-origin:center;transition:box-shadow .16s ease,transform .16s ease;animation:note-in .24s ease-out;-webkit-user-select:none;user-select:none}.sticky-note:after{content:"";position:absolute;right:3px;bottom:2px;width:48%;height:18px;pointer-events:none;background:linear-gradient(174deg,transparent 48%,rgba(71,46,27,.14));filter:blur(2px);transform:skew(-9deg);transform-origin:right bottom}.sticky-note.dragging{z-index:1000!important;box-shadow:5px 9px 11px #34221524,12px 23px 30px #3422154d;transform:rotate(0) scale(1.025);transition:box-shadow .12s ease,transform .12s ease}.sticky-note.drag-source{opacity:.22}.sticky-note.drag-preview{position:fixed;z-index:2000!important;margin:0;pointer-events:none;transition:box-shadow .12s ease,transform .12s ease,opacity .12s ease}.sticky-note.drag-preview.over-completion{opacity:.82;box-shadow:0 0 0 4px #5f8b6d4d,8px 16px 28px #2430274d;transform:rotate(0) scale(.94)}.sticky-note.filtered-out{display:none}.sticky-note.arranging{transition:left .32s cubic-bezier(.22,.8,.28,1),top .32s cubic-bezier(.22,.8,.28,1),box-shadow .16s ease,transform .16s ease}.sticky-note.completed{opacity:.76;filter:saturate(.55)}.sticky-note.completed:before{content:"✓ 完了";position:absolute;left:13px;bottom:10px;z-index:3;padding:3px 8px;border:1px solid rgba(53,91,65,.3);border-radius:999px;color:#315b41;background:#ffffff80;font-size:10px;font-weight:600;pointer-events:none}.sticky-note.completed .note-text{padding-bottom:38px;color:#383326ad;text-decoration:line-through;text-decoration-thickness:1.5px}.note-toolbar{min-height:43px;display:flex;align-items:center;justify-content:flex-end;padding:5px 6px;cursor:grab;touch-action:none}.drag-hint{margin-right:auto;margin-left:9px;color:#2e271952;font-size:17px;letter-spacing:2px;line-height:1}.note-color-control{position:relative;z-index:5}.note-color-button{width:34px;height:34px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;cursor:pointer}.note-color-button:before{content:"";width:15px;height:15px;border:2px solid rgba(255,255,255,.72);border-radius:50%;background:var(--note-color);box-shadow:0 0 0 1px #2d271b4d}.note-color-button:hover,.note-color-button:focus-visible{background:#ffffff4d;outline:none}.note-color-menu{position:absolute;top:38px;right:-37px;width:134px;padding:10px;display:none;grid-template-columns:repeat(4,1fr);gap:7px;border-radius:10px;background:#faf7ef;box-shadow:0 9px 24px #2e221847}.note-color-menu.open{display:grid}.note-color-menu:before{content:"";position:absolute;top:-5px;right:50px;width:10px;height:10px;background:#faf7ef;transform:rotate(45deg)}.note-color-menu .color-choice{position:relative;z-index:1;width:23px;height:23px}.complete-button{position:relative;z-index:2;width:34px;height:34px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;color:#2e271991;background:transparent;cursor:pointer;font-size:17px;font-weight:700;transition:background .15s,color .15s,box-shadow .15s}.complete-button:hover,.complete-button:focus-visible{color:#315b41;background:#ffffff59;outline:none}.complete-button[aria-pressed=true]{color:#fff;background:#5f8b6d;box-shadow:0 2px 5px #315b413b}.delete-button{position:relative;z-index:2;width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;color:#2e271991;background:transparent;cursor:pointer;font-size:20px;transition:background .15s,color .15s}.delete-button:hover,.delete-button:focus-visible{color:#8c332b;background:#ffffff59;outline:none}.note-text{position:relative;z-index:1;width:100%;flex:1;padding:2px 18px 18px;border:0;outline:0;resize:none;color:#383326;background:transparent;font-family:Klee One,cursive;font-size:17px;font-weight:600;line-height:1.7;letter-spacing:.02em;-webkit-user-select:text;user-select:text}.note-text::placeholder{color:#3833266b}.note-text:focus{background:#ffffff12}.app-footer{min-height:42px;display:flex;align-items:flex-end;gap:21px;padding:13px 3px 0;color:#898477;font-size:11px}.app-footer>span{display:flex;align-items:center;gap:7px}.legend-dot{width:7px;height:7px;border-radius:2px;background:#e6bf54}.legend-dot.blue{background:#75aeb7}.note-count{margin-left:auto;text-transform:uppercase;letter-spacing:.12em}@keyframes note-in{0%{opacity:0;transform:scale(.86) rotate(var(--rotation))}to{opacity:1;transform:scale(1) rotate(var(--rotation))}}@media(max-width:900px){:root{--note-size: 190px}.app-shell{padding:24px 24px 18px}.board-frame{min-height:660px}.board{min-height:634px}.header-actions{gap:12px}.color-label{display:none}}@media(max-width:600px){:root{--note-size: min(168px, calc(50vw - 27px) )}.app-shell{padding:16px 12px 12px}.app-header{align-items:center;flex-wrap:wrap;margin-bottom:15px;gap:12px}.header-actions{width:100%;justify-content:space-between;gap:10px}.brand{gap:9px}.brand-mark{width:31px;height:31px;grid-template-columns:repeat(2,13px);gap:3px}.eyebrow,.save-status{display:none}h1{font-size:21px}.add-button{min-height:48px;padding:0 17px;border-radius:8px}.add-button span:last-child{font-size:13px}.project-toolbar{margin-top:0;padding:10px;align-items:stretch;flex-direction:column;gap:8px}.project-select-wrap{width:100%}.project-select-wrap select{max-width:none;min-height:48px;flex:1}.project-actions{width:100%}.project-actions button{min-height:44px;flex:1;justify-content:center;padding:0 5px}.project-dialog form{padding:26px 20px 20px}.board-frame{min-height:650px;padding:8px;border-radius:6px}.board{min-height:634px}.note-toolbar{min-height:45px}.new-note-colors{min-height:44px;padding:6px;gap:6px}.new-note-colors .color-choice{width:20px;height:20px}.new-note-colors .color-choice.selected{box-shadow:0 0 0 2px #3f3c33}.note-color-button{width:40px;height:40px}.note-color-menu{top:43px;right:-39px;width:146px;padding:12px;gap:8px}.note-color-menu .color-choice{width:24px;height:24px}.search-toolbar{margin-top:0;gap:10px}.search-field{width:calc(100% - 76px);min-height:48px;padding:0 12px}.search-field input{font-size:16px}.search-count{min-width:66px;font-size:12px}.status-filters{width:100%}.status-filters button{min-height:42px;flex:1;padding:0 8px}.arrange-button{min-height:44px;margin-left:auto;padding:0 16px}.completion-zone{min-height:68px;padding:10px 12px}.completion-zone small{max-width:none}.drag-hint{display:none}.complete-button,.delete-button{width:40px;height:40px}.delete-button{font-size:22px}.note-text{padding:0 12px 12px;font-size:15px;line-height:1.5}.empty-state{padding:30px}.empty-state span{max-width:230px}.app-footer{gap:14px;font-size:10px}.app-footer>span:nth-child(2){display:none}}:root[data-theme=dark]{--ink: #f0eee7;--muted: #aaa79f;--paper: #242624;color:var(--ink);background:#171817}:root[data-theme=dark] body{background:radial-gradient(circle at 8% 0%,rgba(255,255,255,.045),transparent 30%),linear-gradient(135deg,#202220,#141514)}:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .project-select-wrap>span{color:#8f918b}:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] .new-note-colors,:root[data-theme=dark] .project-toolbar,:root[data-theme=dark] .search-field,:root[data-theme=dark] .status-filters,:root[data-theme=dark] .arrange-button{border-color:#ffffff1a;background:#ffffff0e}:root[data-theme=dark] .theme-toggle{color:#ded9c9}:root[data-theme=dark] .theme-toggle:hover,:root[data-theme=dark] .arrange-button:hover,:root[data-theme=dark] .project-actions button:hover{background:#ffffff1a}:root[data-theme=dark] .add-button{color:#20211f;background:#eee9dc;box-shadow:0 7px 18px #00000047}:root[data-theme=dark] .add-button:hover{background:#fffaf0}:root[data-theme=dark] .project-select-wrap select,:root[data-theme=dark] .project-dialog input{border-color:#ffffff1f;color:var(--ink);background:#30332f}:root[data-theme=dark] .project-actions button,:root[data-theme=dark] .arrange-button,:root[data-theme=dark] .search-count{color:#bbb8af}:root[data-theme=dark] .project-actions button.danger:hover{color:#f1a39b;background:#ce685921}:root[data-theme=dark] .search-field:focus-within{border-color:#8bb99d66;background:#ffffff16}:root[data-theme=dark] .search-icon{border-color:#aaa79f}:root[data-theme=dark] .search-icon:after{background:#aaa79f}:root[data-theme=dark] .search-field input::placeholder{color:#8d8f89}:root[data-theme=dark] .status-filters button{color:#aaa79f}:root[data-theme=dark] .status-filters button.selected{color:#fff;background:#557563}:root[data-theme=dark] .completion-zone{border-color:#7eb19166;color:#a9d1b7;background:#43634d38}:root[data-theme=dark] .completion-zone small{color:#8fa899}:root[data-theme=dark] .completion-count{background:#ffffff14}:root[data-theme=dark] .board-frame{background:#2c211c;box-shadow:0 18px 45px #0006,0 2px 3px #00000052}:root[data-theme=dark] .board{background-color:#755438;background-image:radial-gradient(circle at 15% 25%,rgba(20,10,5,.18) 0 1px,transparent 1.4px),radial-gradient(circle at 80% 60%,rgba(255,255,255,.055) 0 1px,transparent 1.5px),repeating-linear-gradient(82deg,transparent 0 13px,rgba(20,10,5,.035) 14px,transparent 16px),linear-gradient(110deg,rgba(255,255,255,.045),transparent 38%,rgba(20,10,5,.12));box-shadow:inset 0 0 40px #11080452}:root[data-theme=dark] .empty-state{color:#f4e6d3ad}:root[data-theme=dark] .empty-icon{border-color:#f4e6d361}:root[data-theme=dark] .app-footer{color:#92948e}:root[data-theme=dark] .project-dialog{color:var(--ink);background:#272926;box-shadow:0 24px 70px #0000008c}:root[data-theme=dark] .dialog-close{color:#aaa79f}:root[data-theme=dark] .dialog-close:hover{background:#ffffff12}:root[data-theme=dark] .project-dialog label{color:#b0ada5}:root[data-theme=dark] .dialog-cancel{color:#d1cec6;background:#3a3c39}:root[data-theme=dark] .dialog-submit{background:#64816f}:root[data-theme=dark] .note-color-menu{background:#30322f;box-shadow:0 9px 24px #0006}:root[data-theme=dark] .note-color-menu:before{background:#30322f}@media(max-width:600px){.header-actions{gap:6px}.theme-toggle{width:40px;height:40px;flex-basis:40px}.new-note-colors{padding:5px 4px;gap:5px}.new-note-colors .color-choice{width:18px;height:18px}.add-button{padding:0 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
