:root{--raff-primary:#026e8f;--raff-accent:#00b8d4;--raff-decorative:#fbff8a;--raff-gradient:linear-gradient(85deg, #026e8f 3.74%, #00b8d4 124.45%);--accent:var(--raff-primary);--accent-dark:#01536c;--ink:#333;--muted:#6b6b6b;--line:#e5e5e5;--paper:#f1f1f2;--bar:#333;--pill:35px;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;margin:0}h1{margin:.25rem 0 .5rem;font-size:1.6rem}h2{margin:0 0 .5rem;font-size:1.2rem}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.center{place-items:center;min-height:100%;padding:1.5rem;display:grid}.card{background:#fff;border-radius:24px;width:min(100%,27rem);padding:2rem;box-shadow:0 8px 20px #0016420d}.brand-card{padding:0;overflow:hidden}.brand-card>.brand-head{background:var(--raff-gradient);padding:1.5rem 2rem}.brand-card>.brand-head img{width:auto;height:34px;display:block}.brand-card>.brand-body{padding:1.75rem 2rem 2rem}.eyebrow{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:600}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:#b91c1c;margin:.5rem 0;font-size:.9rem}.field{gap:.35rem;margin:1rem 0;font-size:.9rem;display:grid}.field input{font:inherit;border:1px solid #ccc;border-radius:12px;padding:.75rem 1rem}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.primary{background:var(--raff-gradient);color:#fff;border-radius:var(--pill);border:0;padding:.6rem 1.25rem;font-weight:600}.primary:hover:not(:disabled){filter:brightness(1.08)}.bar .primary{color:var(--ink);background:#fff}.bar .primary.on{background:var(--raff-decorative);color:var(--ink)}.card .primary{width:100%;padding:.7rem}.modal .card .primary{width:auto}.ghost{color:#fff;border-radius:var(--pill);background:0 0;border:2px solid #ffffffd9;padding:.5rem 1.1rem;font-weight:600}.ghost.dark{color:var(--ink);border-color:#ccc}.link{color:var(--accent);text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.viewer{flex-direction:column;height:100%;display:flex}.bar{background:var(--raff-gradient);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.25rem;display:flex}.bar-logo{width:auto;height:28px;margin-right:.35rem;display:block}.bar-title{flex-wrap:wrap;align-items:center;gap:.6rem;min-width:0;display:flex}.bar-actions{flex-wrap:wrap;gap:.5rem;display:flex}.muted-on-dark{color:#fffc;font-size:.9rem}.badge{background:var(--raff-decorative);color:var(--ink);letter-spacing:.02em;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.badge.done{color:var(--raff-primary);background:#fff;align-self:center}.segmented{border-radius:var(--pill);border:2px solid #fff9;padding:2px;display:inline-flex;overflow:hidden}.segmented button{color:#fff;border-radius:var(--pill);background:0 0;border:0;padding:.35rem .9rem;font-size:.9rem;font-weight:600}.segmented button[aria-pressed=true]{color:var(--ink);background:#fff}.body{flex:1;min-height:0;display:flex}.stage{background:var(--paper);flex:1;justify-content:center;padding:16px;display:flex;position:relative;overflow:hidden}.viewer[data-compact] .stage{padding:0}.device{background:#fff;border-radius:16px;flex:none;position:relative;overflow:hidden;box-shadow:0 20px 40px #00164226}.viewer[data-compact] .device{box-shadow:none;border-radius:0}.device iframe{transform-origin:0 0;background:#fff;border:0;position:absolute;top:0;left:0}.hint{background:var(--ink);color:#fff;pointer-events:none;white-space:nowrap;border-radius:999px;margin:0;padding:.55rem .9rem;font-size:.9rem;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.panel{border-left:1px solid var(--line);background:#fff;flex:none;align-content:start;gap:.75rem;width:22rem;padding:1rem;display:grid;overflow-y:auto}.viewer[data-compact] .panel{border-left:0;border-top:1px solid var(--line);z-index:5;width:auto;max-height:60%;transition:transform .2s;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -10px 30px #00000026}.viewer[data-compact] .panel[data-open]{transform:none}.notice{border:1px solid var(--raff-decorative);background:#feffd6;border-radius:16px;padding:.75rem;font-size:.9rem}.compose{border:2px solid var(--accent);border-radius:16px;gap:.5rem;padding:.75rem;display:grid}.compose p{margin:0}.compose .link{justify-self:start}textarea{font:inherit;resize:vertical;border:1px solid #ccc;border-radius:12px;width:100%;padding:.6rem .75rem}.howto{color:var(--muted);gap:.35rem;margin:0;padding-left:1.2rem;font-size:.92rem;display:grid}.comments{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.comment{border:1px solid var(--line);border-radius:16px;gap:.4rem;padding:.65rem .75rem;display:grid}.comment[data-active]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.comment[data-away] .comment-head{opacity:.6}.comment p{margin:0}.comment-head{text-align:left;color:var(--muted);background:0 0;border:0;align-items:flex-start;gap:.5rem;padding:0;display:flex}.comment-text{white-space:pre-wrap;font-size:.95rem}.pin{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.75rem;font-weight:600;display:grid}.modal{z-index:10;background:#33333380;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}
