.font-warmup{clip:rect(0, 0, 0, 0);pointer-events:none;-webkit-user-select:none;user-select:none;width:0;height:0;position:absolute;overflow:hidden}.font-warmup span:first-child{font-family:Cormorant Garamond,Georgia,serif;font-weight:300}.font-warmup span:nth-child(2){font-family:Cormorant Garamond,Georgia,serif;font-weight:500}.font-warmup span:nth-child(3){font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:300}.font-warmup span:nth-child(4){font-family:Jost,system-ui,sans-serif;font-weight:300}.font-warmup span:nth-child(5){font-family:Jost,system-ui,sans-serif;font-weight:400}.font-warmup span:nth-child(6){font-family:Jost,system-ui,sans-serif;font-weight:500}:root{--ink:#141414;--ink-soft:#2c2c2c;--bg:#fff;--bg-soft:#f7f7f7;--panel:#fff;--panel-elevated:#fafafa;--accent:#1a1a1a;--muted:#6b6b6b;--line:#ebebeb;--line-strong:#d8d8d8;--danger:#c23b2a;--hit:#1414140f;--hit-active:#1414141f;--radius:14px;--font-display:"Cormorant Garamond", Georgia, serif;--font-ui:"Outfit", "Jost", system-ui, sans-serif;--font-menu-serif:"Cormorant Garamond", Georgia, serif;--font-menu-sans:"Jost", system-ui, sans-serif;--shadow:0 1px 2px #0000000a, 0 12px 32px #0000000f}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font-ui);margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.app-shell{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.topnav{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#ffffffeb;align-items:center;gap:1.25rem;padding:.9rem 1.5rem;display:flex;position:sticky;top:0}.topnav a{color:var(--muted);letter-spacing:.02em;font-size:.9rem}.topnav a.active,.topnav a:hover{color:var(--ink)}.topnav .brand,.topnav .piko-logo-link{align-items:center;margin-right:auto;line-height:0;display:inline-flex}.topnav .piko-logo-link:hover{opacity:.85}.piko-logo,.piko-logo-link{align-items:center;line-height:0;display:inline-flex}.piko-logo-img{display:block}.login-card .piko-logo{margin:.15rem 0 .35rem}.page{width:min(1040px,100%);margin:0 auto;padding:2rem 1.5rem 3rem}.page.studio-page{flex:1;width:100%;max-width:none;min-height:0;padding:0;overflow:hidden}.btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.15rem;font-size:.9rem;font-weight:600;transition:transform .15s,background .15s;display:inline-flex}.btn:hover:not(:disabled){background:#000;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{color:var(--ink);border:1px solid var(--line-strong);background:#fff}.btn.ghost{color:var(--muted);background:0 0;border:1px solid #0000}.field{flex-direction:column;gap:.35rem;margin-top:.85rem;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600}.field input,.field textarea{border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:.75rem .9rem}.field input:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px #14141414}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.muted{color:var(--muted);font-size:.88rem}.error{color:var(--danger);font-size:.88rem}.login-wrap{background:var(--bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:2rem}.login-card h1{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-size:2.6rem}.login-card h2{margin:1.75rem 0 .25rem;font-size:1rem;font-weight:600}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.home-hero{margin-bottom:2rem}.home-hero h1{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0 0 .4rem;font-size:clamp(2rem,4vw,2.75rem)}.template-grid{flex-direction:column;gap:.9rem;display:flex}.template-row{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:96px 1fr auto;align-items:center;gap:1.1rem;padding:1rem 1.15rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid}.template-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.template-row.is-first{border-color:var(--ink)}.template-thumb{border:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#fff8,#0000 55%),#faf7f2;border-radius:12px;width:96px;height:120px;position:relative;overflow:hidden}.template-thumb:after{content:"Menu";font-family:var(--font-display);color:#4a3728;text-align:center;font-size:.85rem;font-style:italic;position:absolute;inset:auto 10px 14px}.template-meta strong{color:var(--ink);margin-bottom:.2rem;font-size:1.15rem;font-weight:600;display:block}.template-meta .pill{background:var(--bg-soft);color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-top:.45rem;padding:.2rem .55rem;font-size:.7rem;font-weight:600;display:inline-block}.template-arrow{color:var(--muted);font-size:1.4rem}.studio{background:var(--bg);grid-template-columns:340px minmax(0,1fr);height:calc(100vh - 61px);min-height:0;display:grid;overflow:hidden}.studio-panel{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;min-height:0;animation:.28s panelIn;display:flex}@keyframes panelIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.studio-panel-head{border-bottom:1px solid var(--line);padding:1.1rem 1.15rem .85rem}.studio-panel-head h2{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.35rem;font-weight:600}.studio-panel-head p{color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.studio-panel-body{background:#fff;flex:1;padding:1rem;overflow:auto}.dish-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.dish-tile{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:14px;flex-direction:column;min-width:0;padding:.55rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.dish-tile:hover,.dish-tile.selected,.dish-tile.editing,.dish-tile.manage{border-color:var(--ink);box-shadow:var(--shadow);transform:translateY(-1px)}.dish-tile.manage{cursor:grab;position:relative}.dish-tile.staged-delete{opacity:.4}.dish-tile-delete{z-index:2;color:#fff;cursor:pointer;background:#1a1a1a;border:0;border-radius:999px;width:1.5rem;height:1.5rem;font-size:1rem;line-height:1;position:absolute;top:.35rem;left:.35rem}.dish-tile-handle{z-index:2;color:var(--muted);letter-spacing:-.12em;pointer-events:none;font-size:.7rem;position:absolute;top:.4rem;right:.45rem}.dish-manage-bar{justify-content:flex-end;gap:.5rem;margin-top:.65rem;display:flex}.role-launch{flex-direction:column;gap:.65rem;display:flex}.role-launch-btn{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:.9rem 1rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.role-launch-btn:hover{border-color:var(--ink);box-shadow:var(--shadow);transform:translateY(-1px)}.role-launch-title{color:var(--ink);font-weight:700}.role-launch-cta{color:var(--muted);font-size:.82rem}.dish-empty-card{border:1.5px dashed var(--line);background:var(--bg-soft);cursor:pointer;text-align:center;width:100%;color:var(--ink);border-radius:16px;flex-direction:column;align-items:center;gap:.45rem;padding:1.35rem 1rem;display:flex}.dish-empty-card:hover{border-color:var(--ink)}.dish-empty-plus{background:var(--ink);color:#fff;border-radius:999px;place-items:center;width:2.75rem;height:2.75rem;font-size:1.6rem;font-weight:300;line-height:1;display:grid}.dish-empty-cta{background:var(--ink);color:#fff;border-radius:999px;margin-top:.35rem;padding:.55rem 1.1rem;font-size:.9rem;font-weight:700}.dish-photo-editor-backdrop{z-index:80;background:#14100c8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dish-photo-editor{width:min(720px,100%);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:.85rem}.dish-photo-editor-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.dish-photo-editor-tools{align-items:center;gap:.35rem;display:flex}.dish-photo-editor-tools .btn.on{border-color:var(--ink);background:var(--bg-soft)}.dish-photo-brush input{width:100px}.dish-photo-editor-stage{background-color:#0000;background-image:linear-gradient(45deg,#eee 25%,#0000 25%),linear-gradient(-45deg,#eee 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#eee 75%),linear-gradient(-45deg,#0000 75%,#eee 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border-radius:12px;place-items:center;min-height:280px;display:grid;overflow:auto}.dish-photo-canvas{touch-action:none;cursor:crosshair;max-width:100%;max-height:min(70vh,560px)}.dish-tile-img{aspect-ratio:1;background:var(--bg-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:0;border-radius:10px;place-items:center;width:100%;margin-bottom:.45rem;padding:0;font-size:.7rem;display:grid;overflow:hidden}.dish-tile-img:disabled{cursor:default;opacity:.7}.dish-tile-img img{object-fit:cover;width:100%;height:100%}.dish-tile-name{-webkit-line-clamp:2;text-align:left;width:100%;color:inherit;cursor:text;font-size:.82rem;font-weight:600;line-height:1.25;font:inherit;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;-webkit-box-orient:vertical;margin:0;padding:0;font-weight:600;display:-webkit-box;overflow:hidden}.dish-tile-name:disabled{cursor:default;opacity:.7}.dish-tile-input{border:1px solid var(--ink);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:.2rem .35rem;font-family:inherit;font-size:.82rem;font-weight:600;line-height:1.25}.dish-tile-add{cursor:pointer;color:var(--muted);justify-content:flex-start;align-items:stretch}.dish-tile-add:hover{color:var(--ink)}.dish-tile-add-plus{aspect-ratio:1;background:var(--bg-soft);border-radius:10px;place-items:center;margin-bottom:.45rem;font-size:1.75rem;font-weight:300;line-height:1;display:grid}.dish-tile-add .dish-tile-name{cursor:pointer;text-align:center;-webkit-line-clamp:1}.studio-stage{background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.studio-toolbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.studio-toolbar h1{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.25rem}.studio-canvas-wrap{flex:1;place-items:center;min-height:0;padding:1.5rem;display:grid;overflow:hidden}.studio-preview{flex-direction:column;align-items:center;gap:.85rem;display:flex}.artboard{box-shadow:var(--shadow);border:1px solid var(--line);background:#faf7f2;border-radius:18px;position:relative;overflow:hidden}.artboard canvas{width:100%;height:auto;display:block}.timeline{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:999px;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.55rem .65rem;display:grid}.timeline-play{border:1px solid var(--line-strong);background:var(--ink);color:#fff;cursor:pointer;border-radius:999px;place-items:center;width:36px;height:36px;padding:0;font-size:.75rem;line-height:1;display:grid}.timeline-play:hover{background:#000}.timeline-scrub{appearance:none;background:var(--line-strong);cursor:pointer;border-radius:999px;outline:none;width:100%;height:4px}.timeline-scrub::-webkit-slider-thumb{appearance:none;background:var(--ink);cursor:pointer;border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #0003}.timeline-scrub::-moz-range-thumb{background:var(--ink);cursor:pointer;border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #0003}.timeline-time{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:5.5rem;font-size:.75rem;font-weight:600}.hit-layer{position:absolute;inset:0}.hit{cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:0;position:absolute}.hit:hover{background:#1414140a}.hit.active:hover{background:#14141412}.export-sheet-backdrop{z-index:40;background:#14141447;place-items:end center;padding:1rem;display:grid;position:fixed;inset:0}@media (min-width:720px){.export-sheet-backdrop{place-items:center}}.export-sheet{border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:1.35rem;animation:.22s sheetIn}@keyframes sheetIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.export-sheet h2{font-family:var(--font-display);color:var(--ink);margin:0 0 .35rem;font-size:1.4rem}.check-row{gap:.75rem;margin:1rem 0;display:flex}.check{border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:12px;flex:1;align-items:center;gap:.55rem;padding:.75rem .85rem;display:flex}.check input{accent-color:var(--ink)}.check.on{border-color:var(--ink);background:var(--bg-soft)}.export-types{flex-direction:column;gap:.55rem;margin:1rem 0 .5rem;display:flex}.export-type{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;padding:.85rem 1rem;font-weight:600}.export-type:hover:not(:disabled){border-color:var(--ink);background:var(--bg-soft)}.time-pair{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.day-picker{gap:.45rem;display:grid}.day-picker-option{border:1px solid var(--line);text-align:left;letter-spacing:.04em;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;font-weight:600;display:flex}.day-picker-today{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.day-picker-option:hover{border-color:var(--ink)}.day-picker-option.selected{border-color:var(--ink);background:var(--bg-soft);box-shadow:var(--shadow)}.day-picker-option:disabled{opacity:.6;cursor:default}@media (max-width:900px){.studio{grid-template-columns:1fr}.studio-panel{z-index:60;border-right:none;border-top:1px solid var(--line);border-radius:18px 18px 0 0;width:auto;max-height:74vh;animation:.24s sheetUp;position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -16px 48px #00000029}.studio-panel-idle{display:none}.studio-tap-hint{display:block}.studio-toolbar{flex-wrap:nowrap;gap:.5rem;padding:.6rem .85rem}.studio-toolbar>div:first-child{align-items:center;gap:.6rem;min-width:0;display:flex}.studio-toolbar h1{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;overflow:hidden}.studio-toolbar .row{flex-wrap:nowrap;gap:.4rem}.studio-toolbar .btn{font-size:.85rem;padding:.4rem .7rem!important}}@keyframes sheetUp{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}.studio-tap-hint{text-align:center;color:var(--muted);max-width:320px;margin:.75rem auto 0;font-size:.85rem;display:none}@media (prefers-reduced-motion:reduce){.studio-panel,.export-sheet,.template-row,.btn{transition:none!important;animation:none!important}}@media (max-width:639.98px){.topnav{padding:.35rem .5rem;padding-bottom:calc(.35rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:none;backdrop-filter:none;z-index:40;background:#fff;border-top:1px solid #e4e2df;border-bottom:none;flex-direction:row;align-items:stretch;gap:0;position:fixed;inset:auto 0 0}.topnav .piko-logo-link,.topnav .brand{display:none}.topnav a{text-align:center;flex:1;justify-content:center;align-items:center;padding:.6rem .25rem;font-size:.85rem;font-weight:600;display:inline-flex}.topnav a.active{color:#6c442d}main.page{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}main.page.studio-page{padding-bottom:calc(3.1rem + env(safe-area-inset-bottom))}}.export-results{flex-direction:column;gap:.5rem;margin:.75rem 0 .25rem;display:flex}.export-save-btn{justify-content:center;width:100%}
