.tollway{--tw-purple:var(--focus-ring);--tw-soft:var(--accent-soft);--tw-paper:var(--panel);--tw-line:var(--line);--tw-error:#a33b24;color:var(--ink);text-align:left;font-size:.9rem;line-height:1.45}.game-home:has(.tollway){max-width:32rem}.play-surface:has(.tollway){border-radius:6px;max-width:32rem;padding:14px}.tollway [hidden]{display:none!important}.tollway :is(p,h1,h2,ul){margin:0}.tollway :is(button,summary,a,textarea):focus-visible{outline:3px solid var(--tw-purple);outline-offset:3px}.tollway button{border:1px solid var(--tw-line);min-width:44px;min-height:44px;color:var(--ink);background:var(--tw-paper);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:6px;padding:8px 12px}.tollway button:disabled{cursor:default;opacity:.5}.tollway .tw-primary{color:var(--bg);background:var(--tw-purple);border-color:var(--tw-purple);font-weight:650}.tollway .tw-primary:not(:disabled):hover{background:var(--tw-purple);filter:brightness(.96)}.tw-header{border-bottom:1px solid var(--tw-line);justify-content:space-between;align-items:center;gap:8px;padding-bottom:12px;display:flex}.tw-header h1{letter-spacing:-.05em;font-size:1.9rem;line-height:1.1}.tw-header p{color:var(--muted);margin-top:4px;font-size:.75rem}.tw-header button{background:var(--tw-soft);border-color:#0000;font-size:.75rem}.tw-total{align-items:center;gap:14px;padding:12px 0;display:flex}.tw-total>div{flex-direction:column;display:flex}.tw-small{color:var(--muted);font-size:.75rem}.tw-total strong{font-variant-numeric:tabular-nums;font-size:1.75rem;line-height:1.1}.tw-total-arrow{color:var(--muted)}.tw-remaining{background:var(--tw-soft);color:var(--tw-purple);border-radius:6px;margin-left:auto;padding:6px 9px;font-size:.8rem}.tw-total[data-over=true] .tw-remaining{color:var(--tw-error);background:color-mix(in srgb, var(--tw-error) 10%, var(--tw-paper))}.tw-board-wrap{max-width:360px;margin-inline:auto;position:relative}.tw-board{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid;position:relative}.tw-road{z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tw-road polyline{stroke:var(--tw-purple);stroke-width:10px;stroke-linejoin:round;fill:none}.tollway .tw-cell{aspect-ratio:1;background:var(--tw-paper);opacity:1;border-width:2px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:44px;padding:3px;font-size:1.5rem;font-weight:750;line-height:1.1;display:flex;position:relative}.tw-cell-label{text-transform:uppercase;letter-spacing:.035em;margin-bottom:2px;font-size:.625rem;line-height:1.2}.tw-cell-mark{font-size:.625rem;font-weight:600;position:absolute;bottom:3px;right:4px}.tollway .tw-cell[data-selected=true]{background:var(--tw-soft);border-color:var(--tw-purple);color:var(--tw-purple)}.tollway .tw-cell[data-next=true]{border-color:var(--tw-purple);border-style:dashed}.tollway .tw-cell[data-tip=true]{background:var(--tw-purple);color:var(--bg);border-color:var(--tw-purple)}.tollway .tw-cell:disabled{opacity:1}.tollway .tw-cell:not(:disabled):hover{background:var(--tw-soft)}.tollway .tw-cell[data-tip=true]:not(:disabled):hover{background:var(--tw-purple)}.tollway .tw-cell[data-terminal=true] .tw-cell-value{font-size:1.1rem}.tw-status{min-height:44px;padding:10px 0 6px;font-size:.8rem}.tw-actions{grid-template-columns:1fr;gap:8px;display:grid}.tw-result{border-top:1px solid var(--tw-line);text-align:center;margin-top:10px;padding-top:12px}.tw-result>strong{color:var(--tw-purple);font-size:1.3rem}.tw-result p{margin:4px 0 12px}.tw-result button{width:100%}.tw-share{margin-top:12px;font-size:.8rem}.tw-share textarea{width:100%;color:var(--ink);border:1px solid var(--tw-line);background:var(--tw-paper);resize:vertical;border-radius:6px;padding:8px}.tw-save{color:var(--muted);padding-top:12px;font-size:.75rem}.tw-history{border-top:1px solid var(--tw-line);margin-top:8px;font-size:.8rem}.tw-history summary{cursor:pointer;min-height:44px;padding:12px 0}.tw-history ul{padding:0;list-style:none}.tw-history a{min-height:44px;color:var(--tw-purple);align-items:center;display:flex}.tw-rollover{padding:12px 0;font-size:.8rem}.tw-rollover a{min-height:44px;color:var(--tw-purple);align-items:center;display:inline-flex}.tw-help{color:var(--ink);background:var(--tw-paper);border:1px solid var(--tw-line);border-radius:6px;max-width:min(420px,100vw - 24px);max-height:calc(100dvh - 32px);padding:20px;overflow:auto}.tw-help::backdrop{background:#0008}.tw-help h2{margin-bottom:12px;font-size:1.35rem}.tw-help p{font-size:.85rem}.tw-help ul{margin-block:14px;padding-left:20px;font-size:.85rem}.tw-help li{margin:7px 0}.tw-help form{margin-top:16px}.tw-help form button{width:100%}.tw-example{gap:8px;margin:14px 0 4px;display:flex;position:relative}.tw-example:before{content:"";background:var(--tw-purple);height:5px;position:absolute;top:50%;left:20px;right:20px}.tw-example span{background:var(--tw-soft);border:2px solid var(--tw-purple);border-radius:6px;flex:1;place-items:center;min-height:44px;font-weight:700;display:grid;position:relative}.tw-example-total{text-align:center;color:var(--tw-purple)}@media (prefers-color-scheme:dark){.tollway{--tw-error:#ffaf96}}@media (width<=360px){.play-surface:has(.tollway){padding:10px}.tw-board{gap:8px}}@media (prefers-reduced-motion:no-preference){.tollway[data-solved=true] .tw-result{animation:.3s ease-out tw-arrive}@keyframes tw-arrive{0%{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
