.app{max-width:62rem;margin:0 auto;padding:2rem 1.25rem 4rem}.app__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-right:3.25rem;margin-bottom:1.25rem}.app__brand{display:flex;align-items:center;gap:.8rem}.app__logo{width:46px;height:46px;border-radius:11px;flex-shrink:0}.app__title{margin:0;font-family:Caveat,cursive;font-size:2.4rem;font-weight:700;line-height:1;color:var(--teal-light);white-space:nowrap}@media (max-width: 720px){.app__tagline{display:none}.app__title{font-size:clamp(22px,7.5vw,34px)}}.app__menu{position:fixed;top:.75rem;right:.75rem;z-index:30}.app__menu summary{list-style:none;cursor:pointer;background:var(--card);box-shadow:0 2px 12px #0006;border:1px solid #334155;border-radius:.5rem;color:var(--muted);padding:.3rem .75rem;font-size:1.1rem;line-height:1;-webkit-user-select:none;user-select:none}.app__menu summary::-webkit-details-marker{display:none}.app__menu-items{position:absolute;right:0;top:calc(100% + .35rem);background:var(--card);border:1px solid #334155;border-radius:.6rem;padding:.35rem;display:flex;flex-direction:column;min-width:12rem;box-shadow:0 8px 24px #0006}.app__menu-items button{background:none;border:none;color:var(--text);text-align:left;padding:.5rem .7rem;border-radius:.4rem;font-size:.9rem;cursor:pointer}.app__menu-items button:hover{background:var(--bg)}.app__banner{background:#422006;border:1px solid #a16207;border-radius:.75rem;color:#fde68a;padding:.75rem 1rem;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.app__banner-action{background:none;border:none;color:#fbbf24;text-decoration:underline;cursor:pointer;font-size:.9rem;padding:0}.app__tagline{margin:.25rem 0 0;color:var(--muted)}.app__sync{font-size:.7rem;vertical-align:middle;cursor:default}.app__sync--idle{color:var(--teal-light)}.app__sync--syncing{color:#fcd34d;animation:syncpulse 1.2s ease-in-out infinite}.app__sync--error{color:#f87171}@keyframes syncpulse{50%{opacity:.35}}.app__search{width:100%;background:var(--card);border:1px solid #334155;border-radius:.5rem;padding:.5rem .75rem;color:var(--text);font-size:.95rem}.app__list{display:flex;flex-direction:column;gap:.9rem;margin-top:.25rem}.app__empty{color:var(--muted);text-align:center;padding:2.5rem 0}.app__layout{display:grid;grid-template-columns:15rem 1fr;gap:1.25rem;align-items:start}.app__content{display:flex;flex-direction:column;gap:.75rem;min-width:0}.app__section{display:flex;flex-direction:column;gap:.6rem}.app__section-title{margin:.5rem 0 0;font-size:.85rem}.app__section-toggle{display:flex;align-items:center;gap:.4rem;width:100%;padding:.15rem 0;background:none;border:none;cursor:pointer;font-size:inherit;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:left}.app__section-chevron{width:1em;text-align:center}.app__toolbar{display:flex;gap:.5rem;align-items:center}.app__toolbar .app__search{flex:1;min-width:0}.layout-toggle{display:flex;gap:.35rem;flex-shrink:0}.layout-toggle__btn{background:var(--card);border:1px solid #334155;border-radius:.5rem;color:var(--muted);padding:.45rem .7rem;font-size:.85rem;cursor:pointer;white-space:nowrap}.layout-toggle__btn--on{border-color:var(--teal);color:var(--teal-light)}.board{display:flex;gap:.9rem;align-items:flex-start;overflow-x:auto;padding-bottom:.75rem;overscroll-behavior-x:contain}.board__column{flex:0 0 300px;display:flex;flex-direction:column;gap:.6rem;background:#ffffff08;border:1px solid #334155;border-radius:.9rem;padding:.75rem;scroll-snap-align:start}.board__column--dragover{border-color:var(--teal)}.board__title{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin:0;font-size:.85rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.board__count{font-weight:600}.board__cards{display:flex;flex-direction:column;gap:.6rem;min-height:3rem}.board__empty{margin:.25rem 0;color:var(--muted);font-size:.85rem}@media (max-width: 720px){.board{scroll-snap-type:x mandatory}.board__column{flex:0 0 88%}}.sidebar{display:flex;flex-direction:column;gap:1rem;position:sticky;top:1rem;min-width:0;max-height:calc(100dvh - 2rem);overflow-y:auto}.sidebar__group,.sidebar__chips{display:flex;flex-direction:column;gap:.15rem}.sidebar__heading{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:.25rem .6rem}.sidebar__add{background:none;border:none;color:var(--teal-light);cursor:pointer;font-size:.9rem;padding:0 .25rem}.sidebar__row{display:flex;align-items:center;gap:.25rem}.sidebar__row .sidebar__item{flex:1}.sidebar__item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;background:none;border:none;border-radius:.5rem;color:var(--text);padding:.45rem .6rem;font-size:.92rem;cursor:pointer;text-align:left}.sidebar__item:hover{background:var(--card)}.sidebar__item--on{background:var(--card);color:var(--teal-light)}.sidebar__count{font-size:.75rem;color:var(--muted)}.sidebar__edit{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:.2rem}.sidebar__form{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap;padding:.3rem .4rem}.sidebar__form input{flex:1;min-width:7rem;background:var(--card);border:1px solid #334155;border-radius:.5rem;padding:.35rem .6rem;color:var(--text);font-size:.85rem}.sidebar__form button{background:var(--card);border:1px solid #334155;border-radius:.5rem;color:var(--muted);padding:.35rem .6rem;font-size:.8rem;cursor:pointer}.sidebar__danger{border-color:#7f1d1d!important;color:#fca5a5!important}@media (max-width: 720px){.app__layout{grid-template-columns:1fr}.sidebar{position:static;gap:.5rem;max-height:none;overflow:visible}.sidebar__chips{flex-direction:row;flex-wrap:nowrap;gap:.3rem;overflow-x:auto;padding:3px;scrollbar-width:none}.sidebar__chips::-webkit-scrollbar{display:none}.sidebar__row,.sidebar__row .sidebar__item{flex:0 0 auto}.sidebar__item{width:auto;flex:0 0 auto;white-space:nowrap;background:var(--card);border:1px solid #334155;border-radius:999px;padding:.35rem .7rem;font-size:.85rem}.sidebar__item--on{border-color:var(--teal)}}.composer{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.composer__type{display:flex;gap:.35rem}.composer__chip{background:var(--card);border:1px solid #334155;border-radius:999px;color:var(--muted);padding:.35rem .75rem;font-size:.85rem;cursor:pointer}.composer__chip--on{border-color:var(--teal);color:var(--teal-light)}.composer__input{flex:1;min-width:10rem;background:var(--card);border:1px solid #334155;border-radius:.5rem;padding:.55rem .75rem;color:var(--text);font-size:1rem}.composer__add{background:var(--teal);color:#f0fdfa;border:none;border-radius:.5rem;padding:.55rem 1rem;font-size:.95rem;cursor:pointer}.composer__add:disabled{opacity:.4;cursor:default}.card{background:var(--card);border:1px solid #334155;border-left-width:4px;border-radius:.75rem;padding:.75rem 1rem}.card--amber{border-left-color:#f59e0b}.card--rose{border-left-color:#f43f5e}.card--sky{border-left-color:#38bdf8}.card--emerald{border-left-color:#34d399}.card--violet{border-left-color:#a78bfa}.card--done .card__title{text-decoration:line-through;color:var(--muted)}.card__handle{cursor:grab;color:var(--muted);opacity:.45;font-size:.9rem;touch-action:none;-webkit-user-select:none;user-select:none;padding:.1rem .2rem;flex-shrink:0}.card--dragging{opacity:.55}.card--selected{border-color:var(--teal)}.card__actions{display:flex;gap:.5rem;margin-top:.6rem}.card__open{background:var(--teal);color:#f0fdfa;border:none;border-radius:.5rem;padding:.4rem .9rem;font-size:.88rem;cursor:pointer}.card__action{background:none;border:1px solid #334155;border-radius:.5rem;color:var(--muted);padding:.4rem .9rem;font-size:.88rem;cursor:pointer}.card__title-input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--teal);border-radius:.4rem;padding:.25rem .5rem;color:var(--text);font-size:1rem}.card--dragover{outline:2px dashed var(--teal);outline-offset:2px}.card__row{display:flex;align-items:center;gap:.6rem}.card__check{width:1.1rem;height:1.1rem;accent-color:var(--teal);flex-shrink:0}.card__title{flex:1;text-align:left;background:none;border:none;color:var(--text);font-size:1rem;cursor:pointer;padding:.1rem 0}.card__pin{background:none;border:none;cursor:pointer;font-size:.9rem;opacity:.25;flex-shrink:0}.card__pin--on{opacity:1}.card__body{margin-top:.5rem;font-size:.9rem;color:var(--muted);max-height:8rem;overflow:hidden}.card__meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.6rem}.card__badge{font-size:.72rem;border:1px solid #334155;border-radius:999px;padding:.1rem .5rem;color:var(--muted)}.card__badge--tag{color:var(--teal-light)}.card__badge--p2{border-color:#f43f5e;color:#fda4af}.card__badge--p1{border-color:#f59e0b;color:#fcd34d}.markdown p{margin:.35rem 0}.markdown h1,.markdown h2,.markdown h3{margin:.5rem 0 .25rem;font-size:1.05em;color:var(--text)}.markdown ul,.markdown ol{margin:.35rem 0;padding-left:1.25rem}.markdown code{background:var(--bg);border-radius:.25rem;padding:.05rem .3rem;font-size:.9em}.markdown pre{background:var(--bg);border-radius:.5rem;padding:.6rem;overflow-x:auto}.markdown a{color:var(--teal-light)}.markdown blockquote{border-left:3px solid #334155;margin:.4rem 0;padding-left:.75rem}.editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617b3;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;overflow-y:auto;z-index:40;overscroll-behavior:contain}.editor{width:100%;max-width:34rem;background:var(--card);border:1px solid #334155;border-radius:.75rem;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.8rem;max-height:calc(100dvh - 7rem);overflow-y:auto;overscroll-behavior:contain;animation:editor-in .2s ease-out}@keyframes editor-in{0%{transform:translateY(28px);opacity:.5}to{transform:none;opacity:1}}@media (max-width: 720px){.editor-overlay{padding:0;align-items:flex-end}.editor{max-width:none;max-height:92dvh;border-radius:1rem 1rem 0 0;border-bottom:none;padding-bottom:max(1.1rem,env(safe-area-inset-bottom))}}.editor__row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.editor__row>*{min-width:0}.editor__row--actions{margin-top:.25rem}.editor__spacer{flex:1}.editor input,.editor select,.editor textarea{background:var(--bg);border:1px solid #334155;border-radius:.5rem;padding:.45rem .6rem;color:var(--text);font-size:.95rem}.editor__title{flex:1;font-size:1.05rem}.editor__bodywrap{position:relative}.editor__body{width:100%;resize:vertical;font-family:inherit;line-height:1.5}.editor__preview{min-height:10rem;border:1px dashed #334155;border-radius:.5rem;padding:.6rem .75rem;font-size:.95rem}.editor__toggle{position:absolute;top:.4rem;right:.5rem;background:var(--bg);border:1px solid #334155;border-radius:.4rem;color:var(--muted);font-size:.75rem;padding:.15rem .5rem;cursor:pointer}.editor__label{font-size:.8rem;color:var(--muted)}.editor__subtasks{display:flex;flex-direction:column;gap:.4rem}.editor__subtask{display:flex;align-items:center;gap:.5rem;font-size:.92rem}.editor__subtask-title--done{text-decoration:line-through;color:var(--muted)}.editor__subtask-remove{margin-left:auto;background:none;border:none;color:var(--muted);cursor:pointer;font-size:.8rem}.editor__subtask-add{display:flex;gap:.4rem}.editor__subtask-add input{flex:1}.editor__subtask-add button{background:var(--bg);border:1px solid #334155;border-radius:.5rem;color:var(--muted);padding:.35rem .7rem;cursor:pointer}.editor__field{display:flex;align-items:center;gap:.4rem}.editor__field--grow,.editor__field--grow input{flex:1}.swatch{width:1.4rem;height:1.4rem;border-radius:999px;border:2px solid transparent;cursor:pointer}.swatch--none{background:var(--bg);border-color:#334155}.swatch--amber{background:#f59e0b}.swatch--rose{background:#f43f5e}.swatch--sky{background:#38bdf8}.swatch--emerald{background:#34d399}.swatch--violet{background:#a78bfa}.swatch--on{outline:2px solid var(--teal-light);outline-offset:2px}.editor__save{background:var(--teal);color:#f0fdfa;border:none;border-radius:.5rem;padding:.5rem 1.1rem;cursor:pointer}.editor__secondary{background:none;border:1px solid #334155;border-radius:.5rem;color:var(--muted);padding:.5rem .9rem;cursor:pointer}.editor__danger{background:none;border:1px solid #7f1d1d;border-radius:.5rem;color:#fca5a5;padding:.5rem .9rem;cursor:pointer}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.25rem}.auth-screen--quiet{color:var(--muted)}.auth-card{width:100%;max-width:22rem;background:var(--card);border:1px solid #334155;border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;gap:.9rem}.auth-card__title{margin:0;font-size:1.4rem;color:var(--teal-light)}.auth-card__hint{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.auth-field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}.auth-field input{background:var(--bg);border:1px solid #334155;border-radius:.5rem;padding:.55rem .7rem;color:var(--text);font-size:1rem}.auth-field input:focus{outline:2px solid var(--teal);outline-offset:-1px}.auth-password{position:relative;display:flex}.auth-password input{flex:1;padding-right:2.6rem}.auth-password__toggle{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem .45rem;opacity:.75}.auth-password__toggle:hover{opacity:1}.auth-button{background:var(--teal);color:#f0fdfa;border:none;border-radius:.5rem;padding:.6rem;font-size:1rem;cursor:pointer}.auth-button:disabled{opacity:.5;cursor:default}.auth-link{background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;text-decoration:underline}.auth-error{margin:0;color:#fca5a5;font-size:.85rem}.auth-qr{width:12rem;height:12rem;align-self:center;background:#fff;border-radius:.5rem;padding:.5rem}.auth-secret{font-size:.8rem;color:var(--muted)}.auth-secret code{display:block;margin-top:.4rem;word-break:break-all;color:var(--text)}@font-face{font-family:Caveat;src:url(/fonts/caveat-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg: #0f172a;--card: #1e293b;--teal: #0d9488;--teal-light: #5eead4;--text: #e2e8f0;--muted: #94a3b8;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{background:var(--bg);color:var(--text)}
