:root{--ground:#f8f6ea;--ground-deep:#efecdb;--surface:#fffdf5;--line:#ddd8c2;--line-soft:#e8e4d2;--ink:#3f4a49;--ink-soft:#5d6a68;--ink-mute:#86928f;--orange:#f06d2f;--orange-deep:#d4551a;--orange-soft:#fbe3d5;--danger:#b3261e;--go:#3a5346;--body:"Segoe UI","Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;--radius:12px}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--body);margin:0;font-size:15px;line-height:1.5}img{max-width:100%;display:block}.head{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);background:#f8f6eaf2;align-items:center;gap:1.25rem;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.head__right{align-items:center;gap:.75rem;margin-left:auto;display:flex}.tabs{gap:.25rem;display:flex}.tab{cursor:pointer;font:inherit;color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:.5rem .9rem}.tab:hover{background:var(--line-soft)}.tab--on{background:var(--orange);color:#fff}.main{max-width:1000px;margin:0 auto;padding:1.25rem}.bar{z-index:9;background:var(--ground);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 0;display:flex;position:sticky;top:57px}.bar__actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.status{color:var(--ink-mute);font-size:.85rem}.status--dirty{color:var(--orange-deep);font-weight:600}.btn{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-size:.85rem;text-decoration:none;display:inline-block}.btn:hover:not(:disabled){border-color:var(--orange)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn--primary:hover:not(:disabled){background:var(--orange-deep)}.btn--go{background:var(--go);border-color:var(--go);color:#fff}.btn--danger{color:var(--danger);border-color:#0000}.btn--danger:hover{border-color:var(--danger)}.btn--quiet{color:var(--ink-soft);border-color:#0000;padding:.35rem .7rem}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem}.hint{color:var(--ink-mute);margin:0;font-size:.85rem}.hint--small{font-size:.78rem}.error{color:var(--danger);font-size:.85rem}.errors{border-color:var(--danger)}.errors ul{margin:.5rem 0 0;padding-left:1.1rem}.errors li{font-size:.85rem}.pill{letter-spacing:.08em;text-transform:uppercase;background:var(--line-soft);color:var(--ink-mute);border-radius:999px;padding:.15em .6em;font-size:.7rem}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.grid--dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.grid--dragging .gcard:hover{transform:none}.gcard{text-align:center;cursor:pointer;font:inherit;color:inherit;touch-action:none;cursor:grab;background:0 0;border:0;border-radius:10px;flex-direction:column;gap:.5rem;padding:0;transition:transform .15s;display:flex}.gcard:active{cursor:grabbing}.gcard:hover{transform:translateY(-3px)}.gcard:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.gcard--source{opacity:1}.gcard--source .gcard__media{border:2px dashed var(--orange);background:0 0;box-shadow:inset 0 0 0 100vmax #f06d2f0f}.gcard--source .gcard__media>*{visibility:hidden}.gcard--source .gcard__name,.gcard--source .gcard__under{opacity:.25}.ghost{z-index:60;pointer-events:none;text-align:center;will-change:transform;filter:drop-shadow(0 16px 26px #3f4a4952);flex-direction:column;gap:.5rem;display:flex;position:fixed;top:0;left:0;transform:scale(1.05)}.ghost .gcard__media{aspect-ratio:.84;height:auto}.gcard--hidden{opacity:.45}.gcard__media{aspect-ratio:.84;background:var(--ground-deep);border-radius:var(--radius);position:relative;overflow:hidden}.gcard__media--arch{border-top-left-radius:50% 20%;border-top-right-radius:50% 20%;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.gcard__media img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.gcard__none{color:var(--ink-mute);place-items:center;font-size:.75rem;display:grid;position:absolute;inset:0}.gcard__flag,.gcard__tag{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:#f8f6eaf0;border-radius:999px;padding:.25em .7em;font-size:.62rem;font-weight:700;position:absolute;bottom:.5rem;left:.5rem}.gcard__flag{background:var(--ink);color:#fff}.gcard__name{font-size:.9rem;font-weight:600;line-height:1.25}.gcard__under{letter-spacing:.1em;text-transform:uppercase;color:var(--orange-deep);font-size:.64rem;font-weight:700;line-height:1.3}.gcard--add{aspect-ratio:.84;border:2px dashed var(--line);color:var(--ink-mute);background:0 0;justify-content:center;align-items:center;gap:.4rem;font-size:.8rem}.gcard--add:hover{border-color:var(--orange);color:var(--orange-deep)}.gcard__plus{font-size:1.6rem;line-height:1}.scrim{z-index:40;background:#3f4a4966;animation:.2s both fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer{z-index:41;background:var(--surface);border-left:1px solid var(--line-soft);flex-direction:column;width:min(520px,100%);animation:.25s cubic-bezier(.19,1,.22,1) both slide;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-24px 0 60px -30px #3f4a4980}@keyframes slide{0%{transform:translate(100%)}to{transform:none}}.drawer__head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.drawer__head strong{font-size:1.05rem}.drawer__body{flex-direction:column;flex:1;gap:1.1rem;padding:1.25rem;display:flex;overflow-y:auto}.drawer__foot{border-top:1px solid var(--line-soft);background:var(--ground);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.9rem 1.25rem;display:flex}.drawer__foot .btn--primary{margin-left:auto}.field{flex-direction:column;gap:.35rem;display:flex}.field>span:first-child{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);font-size:.8rem;font-weight:600}input[type=text],input[type=url],input[type=email],input[type=password],input:not([type]),textarea{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;width:100%;padding:.6rem .75rem}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft);outline:none}.input--rtl{text-align:right;font-size:1.05rem}.thumb{border:1px solid var(--line-soft);border-radius:8px;width:auto;max-height:130px}.thumb--big{max-height:200px}.more{border-top:1px solid var(--line-soft);padding-top:.8rem}.more summary{cursor:pointer;color:var(--ink-mute);font-size:.82rem}.more summary:hover{color:var(--ink)}.more__body{flex-direction:column;gap:1rem;margin-top:.9rem;display:flex}.howto{color:var(--ink-mute);font-size:.8rem}.howto summary{cursor:pointer;padding:.3rem 0}.howto summary:hover{color:var(--ink)}.howto ol{margin:.4rem 0 .4rem 1.1rem;padding:0;line-height:1.6}.howto strong{color:var(--ink)}.checks{flex-wrap:wrap;gap:.5rem .9rem;display:flex}.check{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.9rem;display:inline-flex}.check:hover{border-color:var(--orange)}.check input{accent-color:var(--orange);margin:0}.checks .hint{flex-basis:100%;margin-top:.2rem}.focal{grid-template-columns:1fr 130px;align-items:start;gap:1rem;display:grid}@media (width<=620px){.focal{grid-template-columns:1fr}}.focal__pane{flex-direction:column;gap:.4rem;min-width:0;display:flex}.focal__label{color:var(--ink-mute);font-size:.78rem}.focal__box{border:1px solid var(--line);cursor:crosshair;touch-action:none;background:var(--ground);border-radius:8px;position:relative;overflow:hidden}.focal__box img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto}.focal__dot{cursor:grab;background:#f06d2fd9;border:2px solid #fff;border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;padding:0;position:absolute;box-shadow:0 0 0 1px #00000059,0 2px 8px #00000059}.focal__dot:focus-visible{outline:3px solid var(--go);outline-offset:2px}.focal__card{border:1px solid var(--line);background:var(--ground);border-radius:8px;overflow:hidden}.focal__card img{width:100%;height:100%}.focal__value{color:var(--ink-mute);font-size:.75rem}.rows{flex-direction:column;gap:.5rem;margin-bottom:2rem;display:flex}.srow{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);cursor:pointer;width:100%;font:inherit;text-align:left;align-items:center;gap:.9rem;padding:.9rem 1.1rem;display:flex}.srow:hover{border-color:var(--orange)}.srow__name{font-weight:600}.srow__sub{color:var(--ink-mute);margin-left:auto;font-size:.82rem}.srow--add{color:var(--ink-mute);border-style:dashed;justify-content:center}.login{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login__card{flex-direction:column;gap:.9rem;width:min(380px,100%);display:flex}.login__card h1{margin:0;font-size:1.4rem}.login__card label{color:var(--ink-soft);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.history{margin-top:1.5rem}.history ul{margin:.5rem 0 0;padding:0;list-style:none}.history li{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:1rem;padding:.4rem 0;font-size:.85rem;display:flex}.derived{border:1px dashed var(--line);background:var(--ground);letter-spacing:.1em;text-transform:uppercase;color:var(--orange-deep);border-radius:8px;margin:0;padding:.55rem .75rem;font-size:.78rem;font-weight:700}.derived--overridden{border-style:solid;border-color:var(--orange)}.derived em{letter-spacing:normal;text-transform:none;color:var(--ink-mute);font-weight:400}.upload{border:1px dashed var(--line);background:var(--surface);cursor:pointer;color:var(--ink-soft);border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:.6rem 1.1rem;font-size:.85rem;display:inline-flex}.upload:hover{border-color:var(--orange);color:var(--orange-deep)}.upload input{display:none}.upload--busy{opacity:.6;cursor:progress}.howto input[type=url]{margin-top:.4rem}
