:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8fbff;--bg-soft:#eef5fc;--paper:#fff;--paper-soft:#f4f8fd;--ink:#102857;--ink-muted:#536b93;--ink-faint:#8798b3;--line:#d8e1ee;--line-strong:#afc0d8;--blue:#2e63b8;--blue-deep:#173f86;--blue-soft:#dceafe;--ice:#7fb1e9;--sage:#8ba99a;--pearl:#f0eee8;--shadow:0 20px 60px #1e498221;--soft-shadow:0 12px 32px #1d355a1a;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--font-ui:"PingFang SC", "Hiragino Sans GB", "Avenir Next", "Microsoft YaHei", sans-serif;--font-serif:"Huiwen Mincho", "Huiwen-mincho", "汇文明朝体", "匯文明朝體", "KingHwa_OldSong", "京華老宋体", "I.MingCP", "Songti SC", "STSong", "Hiragino Mincho ProN", "Source Han Serif SC", "Noto Serif CJK SC", Georgia, serif;--font-poem:"Huiwen Mincho", "Huiwen-mincho", "汇文明朝体", "匯文明朝體", "KingHwa_OldSong", "京華老宋体", "I.MingCP", "Songti SC", "STSong", "Hiragino Mincho ProN", "Source Han Serif SC", "Noto Serif CJK SC", serif}@font-face{font-family:Huiwen Mincho;src:local(Huiwen-mincho),local(汇文明朝体),local(匯文明朝體),url(/poetry-dice/assets/Huiwen-mincho-Pd9NDySX.otf)format("opentype");font-display:swap}.poetry-dice-app{overscroll-behavior-x:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;min-height:100vh;color:var(--ink);font-family:var(--font-ui);letter-spacing:0;background:radial-gradient(circle at 47% 42%,#cde1f9e6,#0000 27rem),linear-gradient(120deg,#fbfdff 0%,#f6faff 48%,#eef5fc 100%);margin:0;overflow-x:hidden}body.poetry-dice-card-expanded{overflow:hidden}.poetry-dice-app.night{--bg:#111827;--bg-soft:#17243a;--paper:#182235;--paper-soft:#22314b;--ink:#eef5ff;--ink-muted:#bac8df;--ink-faint:#8696b0;--line:#31435f;--line-strong:#516984;--blue:#7eaaf2;--blue-deep:#7eaaf2;--blue-soft:#1f3558;--shadow:0 22px 70px #010a1952;--soft-shadow:0 14px 36px #020a1740;background:radial-gradient(circle at 47% 42%,#2c538480,#0000 28rem),linear-gradient(120deg,#111827 0%,#162237 48%,#0f1726 100%)}button,input,textarea{font:inherit}input,textarea{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}*,:before,:after{box-sizing:border-box}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.45}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1em;height:1em;display:block}.app-shell{background:linear-gradient(90deg,#ffffffdb,#0000 22%),linear-gradient(#ffffff52,#0000 38%);grid-template-columns:minmax(310px,340px) minmax(0,1fr);height:100vh;transition:grid-template-columns .22s;display:grid;overflow:hidden}.app-shell.packs-collapsed{grid-template-columns:106px minmax(0,1fr);height:100vh;overflow:hidden}.sidebar,.card-panel{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#ffffff94;flex-direction:column;min-width:0;min-height:0;padding:28px 24px;display:flex;position:relative}.poetry-dice-app.night .sidebar,.poetry-dice-app.night .card-panel{background:#101827c2}.sidebar{border-right:1px solid var(--line);overflow:hidden}.app-shell.packs-collapsed .sidebar{align-items:stretch;padding:20px 12px}.card-panel{border-left:1px solid var(--line);gap:10px}.brand{padding:8px 0 18px}.brand h1{font-family:var(--font-serif);color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(32px,3.3vw,42px);font-weight:600;line-height:1.1}.brand h1:after{color:var(--blue);content:"✦";vertical-align:.45em;margin-left:8px;font-size:.48em}.brand p{color:var(--ink-muted);letter-spacing:.1em;margin:8px 0 0 18px;font-family:Georgia,Times New Roman,serif;font-size:15px}.sidebar-story{gap:12px;margin-bottom:28px;display:grid}.sidebar-story .hint{border-radius:var(--radius-sm);background:#e2edfa66;max-width:none;font-size:13px}.sidebar-footer{border-top:1px solid #d8e1eea3;gap:10px;margin-top:14px;padding-top:14px;display:grid}.sidebar-footer .topbar-links{justify-content:flex-start;margin:0}.sidebar-footer .top-icons{justify-content:flex-start}.app-shell.packs-collapsed .brand{text-align:center;width:100%;padding:4px 0 16px}.app-shell.packs-collapsed .brand h1{font-size:0}.app-shell.packs-collapsed .brand h1:before{color:var(--ink);content:"诗骰";font-family:var(--font-serif);font-size:22px;line-height:1}.app-shell.packs-collapsed .brand h1:after,.app-shell.packs-collapsed .brand p,.app-shell.packs-collapsed .sidebar-story{display:none}.rail-heading,.preview-header,.modal-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.rail-heading h2,.preview-header h2,.modal-heading h2{color:var(--ink);font-family:var(--font-serif);margin:0;font-size:19px;font-weight:600;line-height:1.25}.rail-tools{gap:8px;display:flex}.app-shell.packs-collapsed .rail-heading{justify-content:center;width:100%}.app-shell.packs-collapsed .rail-heading h2,.app-shell.packs-collapsed #openPackInfo,.app-shell.packs-collapsed .pack-list,.app-shell.packs-collapsed .new-pack,.app-shell.packs-collapsed .sidebar-footer{display:none}.app-shell.packs-collapsed .gallery-entry{border-radius:18px;grid-template-columns:1fr;justify-self:center;gap:0;width:58px;min-height:58px;margin:12px auto 0;padding:0;display:inline-grid}.app-shell.packs-collapsed .gallery-entry span{display:none}.app-shell.packs-collapsed .gallery-entry svg{width:24px;height:24px}.app-shell.packs-collapsed .rail-tools{justify-content:center;display:flex}.app-shell.packs-collapsed #togglePacks svg{transform:rotate(180deg)}.icon-button,.ghost-icon{border:1px solid var(--line);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--blue-deep);background:#ffffffc7;flex:none;place-items:center;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:inline-grid}.icon-button:hover,.ghost-icon:hover{border-color:var(--line-strong);background:var(--paper);transform:translateY(-1px);box-shadow:0 8px 20px #1a3f6e1a}.poetry-dice-app.night .icon-button,.poetry-dice-app.night .ghost-icon{background:#1f2c42cc}.pack-list{flex:1;gap:16px;min-height:0;margin-top:18px;padding-right:4px;display:grid;overflow-y:auto}.pack-list::-webkit-scrollbar{width:4px}.pack-list::-webkit-scrollbar-track{background:0 0}.pack-list::-webkit-scrollbar-thumb{background:#7878784d;border-radius:4px}.gallery-entry{border-radius:var(--radius-md);min-height:62px;color:var(--blue-deep);text-align:left;cursor:pointer;background:linear-gradient(135deg,#e2edfab3,#ffffffb3),#ffffffb8;border:1px solid #2e63b838;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;margin-top:16px;padding:10px 14px;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:grid;box-shadow:0 12px 28px #234c8714}.gallery-entry:hover{background:linear-gradient(135deg,#dceafee6,#ffffffd1),#ffffffe0;border-color:#2e63b861;transform:translateY(-1px);box-shadow:0 16px 34px #234c871f}.gallery-entry svg{width:26px;height:26px;color:var(--blue);justify-self:center}.gallery-entry span{gap:2px;min-width:0;display:grid}.gallery-entry strong{font-family:var(--font-serif);font-size:17px;font-weight:600;line-height:1.12}.gallery-entry small{color:var(--ink-muted);font-size:12px;line-height:1.2}.pack-card{border:1px solid var(--line);border-radius:var(--radius-md);min-height:112px;color:var(--ink);text-align:left;background:#ffffffc7;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;padding:12px 46px 12px 12px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:grid;position:relative;box-shadow:0 8px 20px #19375b0f}.pack-info-cue{color:#2e63b8a8;border-radius:999px;place-items:center;width:28px;height:28px;display:grid;position:absolute;bottom:11px;right:10px}.pack-info-cue:hover{color:var(--blue-deep);background:#2e63b81a}.pack-info-cue svg{width:18px;height:18px}.pack-card:hover{border-color:var(--line-strong);box-shadow:var(--soft-shadow);transform:translateY(-2px)}.pack-card.active{border-color:var(--blue);box-shadow:0 0 0 1px #2e63b82e, var(--soft-shadow);background:linear-gradient(#fffffff0,#eef6ffd1)}.poetry-dice-app.night .pack-card{background:#1c283cd1}.pack-thumb{border:1px solid var(--line);background:var(--paper-soft);border-radius:8px;width:62px;height:62px;position:relative;overflow:hidden}.pack-thumb:before,.pack-thumb:after{content:"";position:absolute;inset:0}.pack-thumb:before{background:var(--thumb-bg)}.pack-thumb:after{opacity:.88;background:radial-gradient(circle at 76% 22%,#fffffff2 0 9px,#0000 10px),linear-gradient(165deg,#0000 36%,#ffffff7a 37% 42%,#0000 43%),linear-gradient(20deg,#0000 42%,#163e772e 43% 52%,#0000 53%)}.pack-copy{min-width:0}.pack-copy strong{color:var(--ink);font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;word-break:keep-all;font-size:16px;font-weight:600;line-height:1.35;display:block;overflow:hidden}.pack-copy span{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.pack-copy small{color:var(--blue-deep);margin-top:8px;font-size:12px;display:block}.active-pack-strip{border:1px solid var(--line);border-radius:var(--radius-md);min-width:0;color:var(--ink);text-align:center;background:#ffffffa3;display:none;box-shadow:0 8px 20px #19375b0f}.app-shell.packs-collapsed .active-pack-strip{justify-items:center;gap:8px;width:100%;margin-top:14px;padding:9px 7px;display:grid}.pack-thumb-mini{width:52px;height:52px}.active-pack-copy{justify-items:center;gap:4px;min-width:0;display:grid}.active-pack-copy strong{max-width:5em;color:var(--ink);font-family:var(--font-serif);text-wrap:balance;font-size:12px;font-weight:600;line-height:1.25;overflow:hidden}.active-pack-copy small{color:var(--ink-muted);font-size:10px;line-height:1.2}.checkmark{background:var(--blue);color:#fff;opacity:0;border-radius:999px;place-items:center;width:26px;height:26px;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:12px;right:12px;transform:scale(.72)}.pack-card.active .checkmark{opacity:1;transform:scale(1)}.new-pack{border:1px dashed var(--line-strong);border-radius:var(--radius-md);min-height:58px;color:var(--blue-deep);background:#ffffff70;justify-content:center;align-items:center;gap:12px;margin-top:12px;font-size:15px;transition:border-color .16s,background .16s,transform .16s;display:flex}.new-pack:hover{border-color:var(--blue);background:#ffffffc7;transform:translateY(-1px)}.new-pack span{font-size:24px;line-height:1}.topbar-links{gap:4px;margin-left:auto;margin-right:4px;display:flex}.text-link{min-height:28px;color:var(--ink-muted);font-family:var(--font-serif);background:0 0;justify-content:center;align-items:center;padding:0 8px;font-size:13px;display:flex}.text-link:hover{color:var(--blue-deep)}.game-area{grid-template-rows:auto auto 1fr auto;grid-template-columns:minmax(420px,1fr) minmax(420px,520px);min-width:0;min-height:0;padding:0;display:grid;overflow:hidden}.topbar,.controls-row,.compose-editor,.dice-board,.panel-note{grid-column:1;margin-left:20px;margin-right:20px}.topbar{display:none}.panel-note{margin-bottom:20px}.card-panel{grid-area:1/2/-1;min-height:0;overflow-y:auto}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:0 8px 12px;display:none}.hint{min-width:0;max-width:560px;color:var(--ink-muted);font-family:var(--font-serif);background:#e2edfa75;border-radius:999px;align-items:center;gap:12px;padding:6px 14px;font-size:13px;line-height:1.4;display:inline-flex}.hint svg{color:#2e63b8c2;width:19px;height:19px}.top-icons{gap:6px;display:flex}.ghost-icon{color:#10285794;opacity:.72;background:0 0;border-color:#0000;font-size:20px}.ghost-icon:hover{color:var(--blue-deep);opacity:1;box-shadow:none;background:#ffffff85}.controls-row{grid-template-columns:minmax(250px,330px) minmax(230px,300px);justify-content:center;align-items:stretch;gap:16px;padding:24px 0 12px;display:grid}.mode-panel{background:#ffffff57;border:1px solid #afc0d88a;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));min-height:44px;display:grid;overflow:hidden}.mode-button{color:#10285794;text-align:center;background:0 0;border-right:1px solid #d8e1ee8f;place-items:center;gap:2px;min-width:0;padding:7px 10px;display:grid}.mode-button:last-child{border-right:0}.mode-button strong{font-family:var(--font-serif);font-size:15px;font-weight:500;line-height:1.1}.mode-button span{color:#536b938f;font-size:10px;line-height:1.1}.mode-button.active{color:var(--blue-deep);background:#2e63b81a;box-shadow:inset 0 0 0 1px #2e63b833}.mode-button.active strong{font-weight:600}.mode-button.active span{color:#1028578a}.action-cluster{gap:12px;min-width:0;display:grid}.action-cluster-main,.action-cluster-utility{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-action,.secondary-action,.save-card,.share-button{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:10px;min-height:50px;line-height:1;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s;display:inline-flex}.primary-action,.save-card{color:#fff;font-family:var(--font-serif);background:linear-gradient(#3a70c4,#265bab);font-size:17px;font-weight:600;box-shadow:0 10px 22px #2358aa33}.primary-action:hover,.save-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px #2358aa42}.secondary-action{color:#10285780;box-shadow:none;background:#fff3;border:1px solid #afc0d880;font-size:13px}.secondary-action:hover{border-color:var(--line-strong);background:#ffffff94;transform:translateY(-1px)}.poetry-dice-app.night .secondary-action{color:var(--ink-muted);background:#1f2c42cc;border-color:#ffffff14}.poetry-dice-app.night .secondary-action:hover{border-color:var(--line-strong);background:#293852e6}.primary-action svg,.secondary-action svg,.save-card svg{width:21px;height:21px}.compose-editor{border-radius:var(--radius-md);background:#ffffff8a;border:1px solid #d8e1eed1;justify-self:center;gap:10px;width:min(100%,780px);min-width:0;margin:8px 0 10px;padding:12px;display:none;box-shadow:0 10px 26px #19375b0e}.compose-editor[hidden]{display:none}.poetry-dice-app.night .compose-editor{background:#1f2c42bd;border-color:#ffffff14}.compose-editor-head{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.compose-editor-head h2{color:var(--ink);font-family:var(--font-serif);margin:0;font-size:17px;font-weight:600;line-height:1.2}.compose-editor-head p{color:var(--ink-muted);margin:3px 0 0;font-size:12px;line-height:1.4}.compose-editor-head strong{max-width:45%;color:var(--blue-deep);font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;background:#ffffff8f;border:1px solid #afc0d89e;border-radius:999px;flex:0 auto;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.2;overflow:hidden}.compose-list{touch-action:pan-y;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:2px 0;display:flex}.compose-chip,.compose-action{min-width:0;color:var(--ink);background:#ffffffb8;border:1px solid #afc0d8b8;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s}.compose-chip{min-height:34px;font-family:var(--font-serif);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:999px;padding:6px 11px;font-size:15px;line-height:1}.compose-chip.active{border-color:var(--blue);color:#fff;background:linear-gradient(#3b72c6,#2358aa);box-shadow:0 10px 22px #2358aa33}.compose-chip.dragging{z-index:2;position:relative;transform:scale(1.04);box-shadow:0 14px 28px #2358aa3d}.poetry-dice-app.is-dragging-word .compose-chip:not(.dragging){opacity:.62}.compose-chip:hover,.compose-action:hover{border-color:var(--line-strong);background:var(--paper);transform:translateY(-1px)}.compose-break{color:#173f8694;min-height:26px;font-family:var(--font-serif);background:#2e63b814;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;display:inline-flex}.compose-break:before{content:"✂";margin-right:4px}.compose-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0;display:grid}.compose-action{border-radius:var(--radius-sm);color:#102857bd;justify-content:center;align-items:center;gap:5px;min-height:40px;padding:0 8px;font-size:13px;display:inline-flex}.compose-action.danger{color:#8f3650}.compose-action:disabled{opacity:.4;transform:none}.poetry-dice-app.night .compose-chip,.poetry-dice-app.night .compose-action,.poetry-dice-app.night .compose-editor-head strong{background:#1f2c42d6}.dice-board{align-content:start;place-items:start center;min-width:0;min-height:0;padding:8px 0 18px;display:grid;overflow-y:auto}.board-heading{z-index:20;width:min(100%,780px);color:var(--ink-muted);justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px;display:flex;position:relative}.board-tools{z-index:24;flex:none;align-items:center;gap:7px;display:flex;position:relative}.board-tool{color:#173f8685;cursor:pointer;background:#ffffff52;border:1px solid #afc0d87a;border-radius:999px;place-content:center;place-items:center;width:32px;height:32px;min-height:32px;padding:0;font-size:0;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-grid;position:relative}.break-btn{color:#173f868f;min-height:30px;font-family:var(--font-serif);cursor:pointer;background:#ffffff52;border:1px solid #afc0d880;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:12px;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.break-btn:hover,.board-tool:hover{color:var(--blue-deep);background:#ffffffa8;border-color:#2e63b838}.board-tool:before,.board-tool:after{z-index:80;opacity:0;pointer-events:none;transition:opacity .14s,transform .14s;position:absolute;left:50%;transform:translate(-50%,4px)}.board-tool:before{clip-path:polygon(50% 0,0 100%,100% 100%);content:"";background:#102857eb;width:8px;height:8px;top:calc(100% + 6px);bottom:auto}.board-tool:after{color:#fff;content:attr(data-tooltip);min-width:76px;font-family:var(--font-ui);text-align:center;white-space:nowrap;background:#102857f0;border-radius:999px;padding:7px 10px;font-size:12px;line-height:1.2;top:calc(100% + 12px);bottom:auto;box-shadow:0 10px 22px #0f234038}.board-tool:hover:before,.board-tool:hover:after,.board-tool:focus-visible:before,.board-tool:focus-visible:after{opacity:1;transform:translate(-50%)}.break-btn svg,.board-tool svg{grid-area:1/1;place-self:center;width:15px;height:15px}.board-tool.break-btn{place-content:center;place-items:center;gap:0;width:32px;height:32px;min-height:32px;padding:0;font-size:0;display:inline-grid}.board-tool-label,.board-tool .break-label{display:none}.break-tool{color:#173f86ad;background:#ffffff6b;border-color:#2e63b838}.break-tool.is-open{color:var(--blue-deep);background:#2e63b81a;border-color:#2e63b857}.break-panel{justify-content:flex-start;width:min(100%,780px);margin:-4px 0 18px;display:flex}.break-primary{min-height:50px;color:var(--blue-deep);background:#ffffffad;border-color:#2e63b838;border-radius:15px;justify-content:center;align-items:center;gap:9px;padding:0 14px;display:inline-flex;box-shadow:0 8px 18px #2358aa14}.break-primary svg{width:19px;height:19px}.break-primary .break-label{font-family:var(--font-serif);font-size:15px;font-weight:600;line-height:1.1}.break-primary:hover{background:#ffffffd1;border-color:#2e63b857;box-shadow:0 10px 22px #2358aa1f}.break-primary.is-open{background:color-mix(in srgb, var(--blue) 9%, white);border-color:#2e63b84d}.break-primary:disabled{cursor:default;opacity:.52;box-shadow:none;transform:none}.break-insert{opacity:.52;pointer-events:auto;width:24px;height:24px;color:var(--card-accent,var(--blue));cursor:pointer;vertical-align:middle;border:1px solid #2e63b824;border-radius:999px;justify-content:center;align-items:center;margin:0 3px;font-size:12px;line-height:1;transition:opacity .15s,border-color .15s,background .15s,transform .15s;display:inline-flex}.poem-word.active+.break-insert,.break-insert.active,.poem-word:hover+.break-insert,.break-insert:hover,.break-insert:focus{opacity:.86;pointer-events:auto}.break-insert:hover,.break-insert.active{opacity:1;background:#2e63b81f;border-color:#2e63b83d;transform:scale(1.05)}.board-heading h2{color:var(--ink);font-family:var(--font-serif);margin:0;font-size:24px;font-weight:600;line-height:1.15}.board-heading p{font-family:var(--font-serif);margin:5px 0 0;font-size:14px}.board-heading span{border:1px solid var(--line);color:#173f86b8;font-family:var(--font-serif);background:#ffffff6b;border-radius:999px;flex:none;padding:7px 10px;font-size:13px}.selection-count{color:var(--ink-muted);font-family:var(--font-serif);margin-top:18px;font-size:14px}.selection-count:before{color:var(--blue);content:"✧";margin-right:12px}.dice-grid{grid-template-columns:repeat(var(--dice-cols,3), minmax(0, 1fr));align-items:stretch;gap:clamp(14px,1.8vw,22px);width:min(100%,500px,54vh);min-width:0;display:grid}.dice-grid[data-mode=long]{width:min(58vh,500px)}.dice-grid.is-rolling{pointer-events:none}.die{aspect-ratio:1;color:#fff;width:100%;min-width:0;min-height:0;font-family:var(--font-poem);text-align:center;text-shadow:0 1px 4px #071c372e;background:linear-gradient(150deg,#70a0d6eb,#2e64aaf2);border:1px solid #5b8dc66b;border-radius:18px;place-items:center;min-width:0;font-size:clamp(30px,3.4vw,44px);font-weight:600;line-height:1.12;transition:transform .18s,box-shadow .18s,filter .18s,border-color .18s,background .18s,opacity .18s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fff3,0 7px 16px #1c498221}.die:before,.die:after{pointer-events:none;content:"";position:absolute}.die:before{border-radius:inherit;background:radial-gradient(circle at 20% 16%,#fff3,#0000 18%),linear-gradient(#ffffff1c,#0000 42%);inset:0}.die:after{box-shadow:none;border:1px solid #ffffff2e;border-radius:14px;inset:8px}.die:hover{filter:saturate(1.04)brightness(1.02);transform:translateY(-2px)}.die.used{color:#173f86;text-shadow:none;filter:none;background:linear-gradient(#fdfefff7,#ebf2faf0);border-color:#2e63b857;transform:none;box-shadow:inset 0 0 0 1px #ffffffbd,0 4px 10px #1c49820e}.die.used:before{background:linear-gradient(#ffffff8f,#0000 44%),repeating-linear-gradient(135deg,#2e63b80b 0 1px,#0000 1px 9px)}.die.used:after{border-color:#2e63b838;inset:6px}.die:not(.used):hover{border-color:#e1effff2;transform:translateY(-3px);box-shadow:inset 0 0 0 1px #ffffff38,0 0 0 3px #7db4f21a,0 10px 20px #1c498229}.die.rolling{animation:1.12s cubic-bezier(.16,.78,.18,1) both poetryRoll;animation-delay:var(--roll-delay,0s)}.die.rolling:before{animation:1.12s cubic-bezier(.18,.74,.2,1) both faceGleam;animation-delay:var(--roll-delay,0s)}.die.rolling .die-word,.die.rolling .die-state,.die.rolling .die-index{animation:1.12s both faceReveal;animation-delay:var(--roll-delay,0s)}.die-word{z-index:2;overflow-wrap:anywhere;max-width:96%;padding:18px 2px 8px;display:block;position:relative}.die.long-word .die-word{max-width:98%;font-size:.82em;line-height:1.08}.die.extra-long-word .die-word{font-size:.72em}.dice-grid[data-mode=long] .die{font-size:clamp(26px,2.8vw,34px)}.dice-grid[data-mode=long] .die-word{box-sizing:border-box;max-width:calc(100% - 16px);padding:14px 2px 6px;line-height:1.04}.dice-grid[data-mode=long] .die.long-word .die-word{font-size:.78em;line-height:1.02}.dice-grid[data-mode=long] .die.extra-long-word .die-word{font-size:.68em;line-height:1.02}.die-index{z-index:2;background:#ffffffc2;border-radius:999px;width:7px;height:7px;position:absolute;top:12px;left:12px;box-shadow:0 0 0 1px #173f8614}.die-state{z-index:3;color:#0000;width:12px;min-width:0;height:12px;text-shadow:none;background:#ffffff52;border:1px solid #ffffff9e;border-radius:999px;padding:0;font-size:0;position:absolute;top:13px;right:13px;overflow:hidden}.die.used .die-state{color:#0000;background:#2e63b829;border-color:#2e63b857}.die.used .die-state:before{border-radius:inherit;content:"";background:#2e63b8;position:absolute;inset:3px}.die.used .die-index{background:#2e63b880}.die-motif{z-index:1;background-image:var(--die-art);opacity:.72;background-size:cover;border-radius:14px;position:absolute;inset:9px;overflow:hidden}.die.used .die-motif{opacity:.86}.die-motif:before,.die-motif:after{content:"";display:none;position:absolute}.motif-moon .die-motif:before{background:#ffffffb8;border-radius:999px;width:34%;height:34%;top:9%;right:13%;box-shadow:inset -12px 0 #487ebe9e}.motif-water .die-motif:before,.motif-water .die-motif:after{border:1px solid #0000;border-top-color:#ffffff80;border-radius:50%;height:34%;left:-15%;right:-15%}.motif-water .die-motif:before{bottom:12%}.motif-water .die-motif:after{opacity:.6;bottom:24%}.motif-mountain .die-motif:before{background:linear-gradient(135deg,#0000 0 24%,#ffffff85 25% 38%,#0000 39%),linear-gradient(45deg,#0000 0 42%,#ffffff70 43% 58%,#0000 59%);height:48%;bottom:3%;left:-5%;right:-5%}.motif-flower .die-motif:before{background:radial-gradient(circle at 50% 18%,#ffffffb8 0 12%,#0000 13%),radial-gradient(circle at 80% 48%,#ffffff9e 0 12%,#0000 13%),radial-gradient(circle at 50% 78%,#ffffff9e 0 12%,#0000 13%),radial-gradient(circle at 20% 48%,#ffffff9e 0 12%,#0000 13%);width:38%;height:38%;bottom:16%;right:12%}.motif-wind .die-motif:before,.motif-wind .die-motif:after{border-top:2px solid #ffffff8c;border-radius:50%;width:74%;height:22%;left:6%}.motif-wind .die-motif:before{top:28%}.motif-wind .die-motif:after{width:62%;top:50%;left:20%}.motif-mirror .die-motif:before{border:1px solid #ffffff8a;border-radius:50%;inset:16% 20%;transform:rotate(-25deg)}.motif-paper .die-motif:before{background:linear-gradient(#0000 25%,#ffffff57 26% 28%,#0000 29% 48%,#ffffff40 49% 51%,#0000 52%);border:1px solid #ffffff85;border-radius:4px;width:40%;height:50%;bottom:13%;right:14%;transform:rotate(8deg)}.motif-road .die-motif:before{border-left:2px solid #ffffff6b;border-right:2px solid #ffffff3d;width:20%;top:6%;bottom:-10%;left:48%;transform:skew(-16deg)}.motif-mist .die-motif:before{filter:blur(6px);background:linear-gradient(#0000 0%,#ffffff1f 30%,#ffffff38 60%,#0000 100%);border-radius:50% 50% 45% 55%/40% 40% 50% 50%;height:58%;bottom:8%;left:-10%;right:-10%}.motif-mist .die-motif:after{filter:blur(4px);background:linear-gradient(#0000 0%,#ffffff24 50%,#0000 100%);border-radius:50%;height:36%;bottom:20%;left:10%;right:-5%}@keyframes poetryRoll{0%{opacity:0;filter:blur(3px);transform:translate(var(--roll-from-x,0), var(--roll-from-y,0)) scale(.64) rotate(-18deg)}24%{opacity:1;transform:translate(calc(var(--roll-from-x,0) * .45), calc(var(--roll-from-y,0) * .45 - 34px)) scale(.86) rotate(16deg)}50%{filter:blur(1px);transform:translate(var(--roll-dx,0), calc(var(--roll-dy,0) - 18px)) scale(1.03) rotate(-8deg)}76%{transform:translateY(-6px)scale(1.01)rotate(2deg)}to{opacity:1;filter:blur();transform:translate(0)scale(1)rotate(0)}}@keyframes mobileDiceScatter{0%{opacity:0;filter:blur(3px);transform:translate(var(--roll-from-x,0), var(--roll-from-y,0)) scale(.58) rotate(-24deg)}32%{opacity:1;transform:translate(calc(var(--roll-from-x,0) * .35), calc(var(--roll-from-y,0) * .35 - 24px)) scale(.86) rotate(18deg)}64%{filter:blur(.8px);transform:translate(calc(var(--settle-x,0) * 1.5), calc(var(--settle-y,0) - 14px)) scale(1.04) rotate(calc(var(--settle-r,0deg) + 10deg))}82%{transform:translate(calc(var(--settle-x,0) * .86), calc(var(--settle-y,0) + 3px)) scale(.99) rotate(calc(var(--settle-r,0deg) - 3deg))}to{opacity:1;filter:blur();transform:translate(var(--settle-x,0), var(--settle-y,0)) scale(1) rotate(var(--settle-r,0deg))}}@keyframes faceGleam{0%,to{opacity:1}36%{opacity:.68}58%{opacity:1}}@keyframes faceReveal{0%,44%{opacity:0}70%{opacity:.5}to{opacity:1}}.poem-line{white-space:nowrap;display:block}.poem-word{cursor:pointer;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:3px;margin:0;padding:0;transition:background-color .15s,box-shadow .15s,transform .15s}.poem-word:hover{background:#2e63b81a}.poem-word.active{background:#2e63b824;box-shadow:0 0 0 1px #2e63b82e}.poem-word.dragging{cursor:grabbing;background:#2e63b81f;transform:scale(1.08)rotate(-2deg);box-shadow:0 6px 16px #182c4738}.card-poem.is-reordering .poem-word:not(.dragging){opacity:.45}.word-action-bar{top:var(--word-action-top,8%);left:var(--word-action-left,50%);z-index:5;border:1px solid color-mix(in srgb, var(--card-accent,#2e63b8) 24%, transparent);max-width:calc(100% - 38px);color:var(--card-ink,var(--ink));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc2;border-radius:999px;align-items:center;gap:7px;padding:8px 9px 8px 13px;display:inline-flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 12px 28px #19375b29}.word-action-bar[hidden]{display:none}.word-action-bar span{min-width:0;color:var(--card-ink,var(--ink));font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.1;overflow:hidden}.word-action-bar button{width:34px;height:34px;color:var(--card-accent,var(--blue));background:#ffffff9e;border-radius:999px;flex:none;place-items:center;display:grid}.word-action-bar button.active{background:color-mix(in srgb, var(--card-accent,#2e63b8) 18%, white)}.word-action-bar svg{width:18px;height:18px}.preview-header{padding-top:4px}.card-hint{font-family:var(--font-serif);color:var(--ink-faint);text-align:center;min-height:18px;margin:2px auto 0;font-size:11px;line-height:1.6}.card-panel-row{justify-content:flex-end;align-items:center;gap:8px;display:flex}.card-options-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:min(100%,340px);margin:0 auto;display:grid}.card-options-row .signature-field{width:100%;margin:0}.card-options-row .card-panel-row{gap:6px;min-width:max-content}.card-options-row .card-panel-label{letter-spacing:.3px;white-space:nowrap;font-size:10px}.card-options-row .qr-toggle{gap:0;min-height:24px;padding-left:2px}.card-options-row .qr-track{width:28px;height:16px}.card-options-row .qr-thumb{width:12px;height:12px}.card-options-row .qr-toggle input:checked+.qr-track .qr-thumb{transform:translate(12px)}.card-panel-label{font-family:var(--font-serif);color:#64788c8c;letter-spacing:.5px;font-size:11px}.qr-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.qr-toggle input{opacity:0;width:0;height:0;position:absolute}.qr-track{background:#00000026;border-radius:999px;flex:none;width:32px;height:18px;transition:background .2s;display:inline-block;position:relative}.qr-thumb{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.qr-toggle input:checked+.qr-track{background:var(--blue)}.qr-toggle input:checked+.qr-track .qr-thumb{transform:translate(14px)}.qr-toggle input:focus-visible+.qr-track{outline:2px solid var(--blue);outline-offset:2px}.card-qr{z-index:2;flex-direction:column;align-items:center;gap:2px;display:none;position:absolute;bottom:16px;left:16px}.card-qr img{opacity:.82;border-radius:4px;width:34px;height:34px;display:block}.card-qr span{font-family:var(--font-serif);color:#10285780;letter-spacing:.5px;font-size:7px;line-height:1}.poem-card{aspect-ratio:3/4;border-radius:var(--radius-md);background:linear-gradient(#fffffff0,#f9fbfcf0),repeating-linear-gradient(90deg,#18233406 0 1px,#0000 1px 8px);border:1px solid #bec7d294;width:min(100%,460px);max-width:min(420px,75vh - 183px);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 18px 36px #182c4721}.card-art{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.poem-card .moon,.poem-card .mountains{pointer-events:none;display:none}.poetry-dice-app.night .poem-card{color:#102857;background:linear-gradient(#ebf2fbf0,#dfe9f4f0),repeating-linear-gradient(90deg,#18233406 0 1px,#0000 1px 8px)}.moon{opacity:.96;background:#f5f2eb;border-radius:999px;width:42px;height:42px;position:absolute;top:58px;left:70px;box-shadow:inset -13px 0 #fff}.mountains{color:#8eb3de;opacity:.72;width:100%;height:210px;position:absolute;left:0;right:0}.mountains path:first-child{fill:currentColor;opacity:.46}.mountains path:last-child{fill:#c8dbee;opacity:.62}.top-mountains{top:34px}.bottom-mountains{height:210px;bottom:0;transform:scaleY(1.1)}.card-poem{top:var(--card-poem-top,164px);z-index:1;min-height:0;max-height:calc(100% - var(--card-poem-top,164px) - 190px);color:var(--card-ink,#0d2454);font-family:var(--font-serif);font-size:var(--card-poem-size,clamp(27px, 2.45vw, 38px));font-weight:600;line-height:var(--card-line-height,1.36);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:0 0 8px;display:flex;position:absolute;left:28px;right:28px}.poem-card.is-empty .card-poem{color:#27436d6b;font-weight:500}.card-poem>span{display:block}.card-rule{top:var(--card-rule-top,354px);z-index:1;background:linear-gradient(90deg,#0000,#a9bdd7 18% 82%,#0000);width:70%;height:1px;margin:0;position:absolute;left:15%}.card-rule:after{width:15px;height:15px;color:var(--card-accent,var(--blue));content:"✦";text-align:center;background:#f8fbff;font-size:13px;line-height:15px;position:absolute;top:-7px;left:50%;transform:translate(-50%)}.card-note{top:var(--card-note-top,386px);z-index:1;color:#25436eb8;font-family:var(--font-serif);text-align:center;text-wrap:balance;font-size:12px;font-weight:500;line-height:1.45;position:absolute;left:34px;right:34px}.poem-card.is-empty .card-note{color:#27436d5c}.card-meta{z-index:1;color:#102857a3;font-family:var(--font-serif);text-align:right;margin:0;font-size:11px;font-weight:500;line-height:1.5;position:absolute;bottom:22px;right:28px}.card-author{z-index:1;color:#102857b8;font-family:var(--font-serif);text-align:right;pointer-events:none;font-size:15px;font-weight:500;line-height:1.25;position:absolute;bottom:49px;right:28px}.card-author[hidden]{display:none}.seal{color:#274c7e2e;pointer-events:none;border:2px solid #274c7e21;border-radius:999px;place-items:center;width:76px;height:76px;font-family:Georgia,serif;font-size:36px;display:grid;position:absolute;bottom:54px;right:26px;transform:rotate(-18deg)}.seal:before{border-radius:inherit;content:"";border:1px solid #274c7e24;position:absolute;inset:7px}.card-dots{justify-content:center;gap:9px;display:flex}.card-dots button{background:color-mix(in srgb, var(--theme-accent,#2e63b8) 28%, #d5dfeb);opacity:.5;border:0;border-radius:999px;width:9px;height:9px;padding:0}.card-dots button.active{background:var(--theme-accent,var(--blue));opacity:1}.save-card{border-radius:15px;width:min(100%,340px);min-height:46px;margin:2px auto 0;font-size:17px}.signature-field{border-radius:var(--radius-sm);width:min(100%,340px);color:var(--ink-muted);background:#ffffff8f;border:1px solid #d8e1eedb;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:0 auto;padding:9px 12px;font-size:13px;display:grid}.poetry-dice-app.night .signature-field{background:#1f2c42cc;border-color:#ffffff14}.poetry-dice-app.night .signature-field input{color:var(--ink)}.poetry-dice-app.night .signature-field input::placeholder{color:#bac8df66}.signature-field span{color:var(--ink-faint);font-family:var(--font-serif)}.signature-field input{min-width:0;color:var(--blue-deep);font-family:var(--font-serif);background:0 0;border:0;outline:none;font-size:14px}.signature-field input::placeholder{color:#536b9394}.save-card:disabled,.share-button:disabled{color:#8494aa;box-shadow:none;background:linear-gradient(#eef2f7,#d8e0ea);transform:none}.poetry-dice-app.night .save-card:disabled,.poetry-dice-app.night .share-button:disabled{color:#96a5be80;background:#1f2c4299}.share-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(100%,340px);margin:0 auto;display:grid}.share-button{border:1px solid var(--line);min-height:40px;color:var(--blue-deep);background:#ffffffc7;flex-direction:row;font-size:12px;box-shadow:0 6px 14px #19375b0b}#downloadCard,#copyCard{color:var(--blue-deep);background:#ffffffe6;border-color:#2e63b842}#copyPoem,#shareCard{color:#1028579e}.poetry-dice-app.night .share-button{color:var(--ink);background:#1f2c42d9;box-shadow:0 8px 18px #0003}.share-button:hover{border-color:var(--line-strong);background:var(--paper);box-shadow:var(--soft-shadow);transform:translateY(-2px)}.poetry-dice-app.night .share-button:hover{background:#293852f2}.share-button svg{width:17px;height:17px}.save-card.is-success,.share-button.is-success{color:var(--blue-deep);background:#eaeff8;border-color:#2e63b861;box-shadow:0 0 0 3px #2e63b81f,0 10px 24px #2358aa1f}.save-card.is-success:before,.share-button.is-success:before{width:16px;height:16px;color:var(--blue-deep);content:"✓";font-family:var(--font-ui);background:#2e63b81f;border-radius:999px;flex:none;place-items:center;font-size:11px;line-height:1;display:inline-grid}.panel-note{color:#64788c80;width:min(100%,320px);font-family:var(--font-serif);text-align:center;letter-spacing:1px;pointer-events:none;margin:10px auto 0;font-size:12px}.panel-note:after{color:var(--sage);content:"〳";vertical-align:-12px;opacity:.6;margin-left:18px;font-size:28px;display:inline-block;transform:rotate(28deg)}.modal{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);width:min(92vw,520px);color:var(--ink);box-shadow:var(--shadow);padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a193347}.modal-content{gap:18px;padding:24px;display:grid}.field{color:var(--ink-muted);gap:8px;font-size:13px;display:grid}.field input,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-soft);width:100%;color:var(--ink);outline:none}.field input{height:44px;padding:0 12px}.field textarea{resize:vertical;min-height:190px;padding:12px;line-height:1.6}.field input:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2e63b81f}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.modal-actions .secondary-action,.modal-actions .primary-action{min-height:44px;padding:0 18px}.modal-primary{min-width:126px}.toast{top:auto;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:160;border:1px solid var(--line);max-width:min(360px,100vw - 48px);color:var(--ink);box-shadow:var(--soft-shadow);font-family:var(--font-serif);opacity:0;pointer-events:none;background:#ffffffeb;border-radius:14px;padding:12px 16px;font-size:14px;transition:opacity .22s,transform .22s;position:fixed;left:50%;right:auto;transform:translate(-50%,8px)}.toast.anchored{bottom:auto;transform:translate(-50%,8px)}.toast.anchored:before{bottom:-5px;left:var(--arrow-offset,50%);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:inherit;content:"";width:10px;height:10px;display:block;position:absolute;transform:translate(-50%)rotate(45deg)}.toast.anchored.anchor-below:before{border:0;border-top:1px solid var(--line);border-left:1px solid var(--line);top:-5px;bottom:auto}.toast.visible{opacity:1;transform:translate(-50%)}.poetry-dice-app.night .toast,.poetry-dice-app.night .toast.anchored:before{background:#182235f0}@media (width<=1220px){.app-shell{grid-template-columns:300px minmax(0,1fr);height:100vh;overflow:hidden}.app-shell.packs-collapsed{grid-template-columns:106px minmax(0,1fr);height:100vh;overflow:hidden}.game-area{grid-template-rows:auto auto auto minmax(480px,1fr) auto auto;grid-template-columns:minmax(0,1fr);overflow-y:auto}.topbar,.controls-row,.compose-editor,.dice-board,.panel-note,.card-panel{grid-column:1}.card-panel{border-top:1px solid var(--line);border-left:0;flex-flow:wrap;grid-row:auto;justify-content:center;align-items:flex-start;gap:20px 40px}.preview-header,.card-dots,.panel-note{flex:100%}.poem-card{flex:none}.dice-board{overflow:visible}.controls-row{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,640px)}.mode-panel{grid-column:1/-1}.card-options-row,.save-card,.share-actions{flex:200px;min-width:200px}.save-card{margin-top:0}}@media (width<=820px){.poetry-dice-app{background:linear-gradient(#fbfdff,#edf5ff);min-height:100dvh;overflow-x:clip}.poetry-dice-app.has-selection{padding-bottom:calc(98px + env(safe-area-inset-bottom,0px))}.app-shell,.app-shell.packs-collapsed{flex-direction:column;grid-template-columns:none;width:100%;height:auto;min-height:100dvh;display:flex;overflow:visible}.sidebar,.card-panel,.game-area{border:0;width:auto;max-width:none}.sidebar{border-bottom:1px solid var(--line);flex:none;padding:16px 16px 10px;overflow:hidden}.sidebar.is-collapsed{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.brand{padding:0 0 14px}.brand h1{font-size:clamp(28px,9vw,36px)}.brand p{letter-spacing:.08em;margin:6px 0 0 10px;font-size:12px}.sidebar.is-collapsed .brand{text-align:left;width:auto;padding:0}.sidebar.is-collapsed .rail-heading{justify-content:end;width:auto}.sidebar.is-collapsed .rail-tools{display:flex}.sidebar.is-collapsed .active-pack-strip{text-align:left;grid-template-columns:40px minmax(0,1fr);place-items:center start;gap:10px;width:auto;min-width:0;margin:0;padding:7px 10px;display:grid}.sidebar.is-collapsed .pack-thumb-mini{width:40px;height:40px}.sidebar.is-collapsed .active-pack-copy{justify-items:start}.sidebar.is-collapsed .active-pack-copy strong{white-space:nowrap;max-width:none;font-size:14px}.pack-list{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;gap:12px;width:100%;max-width:100%;margin:10px 0 0;padding:0 0 8px;display:flex;overflow:auto hidden}.pack-list::-webkit-scrollbar{display:none}.pack-card{scroll-snap-align:start;flex:0 0 min(78vw,250px);grid-template-columns:52px minmax(0,1fr);min-height:88px;padding:12px 42px 12px 12px}.pack-thumb{width:52px;height:52px}.pack-copy strong{font-size:16px}.pack-copy span{-webkit-line-clamp:1}.new-pack{min-height:44px;margin-top:6px}.topbar-links{display:none}.game-area{grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr) clamp(184px,51vw,300px);gap:10px 8px;width:auto;min-height:0;padding:10px 14px 20px;display:grid;overflow:visible}.topbar,.controls-row,.compose-editor,.dice-board,.panel-note,.card-panel{margin-left:0;margin-right:0}.topbar{border-bottom:0;grid-area:1/1/auto/-1;align-items:start;gap:12px;padding:0 0 12px;display:grid}.hint{border-radius:var(--radius-md);width:100%;max-width:none;font-size:13px}.top-icons{justify-self:center}.controls-row{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f6faffeb;border-block:1px solid #d8e1eeb8;grid-area:2/1/auto/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 -14px;padding:8px 14px;position:sticky;top:0}.mode-panel{border-radius:14px;grid-column:1/-1;min-height:42px}.action-cluster{grid-column:1/-1;gap:8px}.action-cluster-main{grid-template-columns:minmax(0,1.06fr) minmax(0,.92fr) minmax(0,1fr)}.action-cluster-utility{border-left:0;padding-left:0}.primary-action,.secondary-action{gap:6px;min-width:0;min-height:42px;padding:0 8px;font-size:13px}.secondary-action.compact{grid-column:auto}.compose-editor{right:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffed;border-color:#afc0d8e6;border-radius:16px;gap:6px;width:min(220px,100vw - clamp(184px,51vw,300px) - 36px);max-width:calc(100vw - clamp(184px,51vw,300px) - 36px);margin:0;padding:8px 8px 9px;display:grid;position:fixed;left:14px;box-shadow:0 18px 48px #19375b33}.compose-editor:before{content:"";background:#536b9333;border-radius:999px;justify-self:center;width:38px;height:4px}.compose-editor-head{grid-template-columns:minmax(0,1fr);align-items:start;gap:5px;display:grid}.compose-editor-head>div{min-width:0}.compose-editor-head h2{font-size:15px}.compose-editor-head p{display:none}.compose-editor-head strong{text-overflow:clip;white-space:normal;justify-self:start;max-width:100%;padding:5px 7px;font-size:11px;overflow:visible}.compose-list{display:none}.compose-actions{grid-template-columns:repeat(2,minmax(0,1fr))}#moveWordPrev,#moveWordNext{display:none}.compose-action{min-height:36px;padding:0 6px;font-size:12px}.dice-board{isolation:isolate;background:linear-gradient(#ffffffd1,#edf6ff85),repeating-linear-gradient(135deg,#577eac09 0 1px,#0000 1px 12px),radial-gradient(at 52% 42%,#a8cdf33d,#0000 66%);border:1px solid #c5d4e8d6;border-radius:20px;grid-area:3/1;align-self:start;justify-items:stretch;width:100%;padding:10px 8px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff9e,inset 0 -24px 42px #c6def62e,0 14px 34px #19375b14}.dice-board:before{z-index:0;pointer-events:none;content:"";border:1px solid #b6cae457;border-radius:16px;position:absolute;inset:9px}.board-heading{z-index:1;flex-direction:column;align-items:flex-start;gap:6px;width:100%;margin-bottom:8px;position:relative}.board-tools{flex-wrap:nowrap;justify-content:space-between;gap:6px;width:100%}.board-heading h2{font-size:19px}.board-heading p{display:none}.dice-grid{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:center;gap:8px 7px;width:min(100%,158px);min-width:0;padding:4px;position:relative}.dice-grid[data-mode=long]{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,158px)}.die{transform:translate(var(--settle-x,0), var(--settle-y,0)) rotate(var(--settle-r,0deg));background:linear-gradient(150deg,#82b0e1f5,#2d65aef7);border:1px solid #729ed180;border-radius:15px;font-size:clamp(18px,5.4vw,24px);box-shadow:inset 0 1px #ffffff52,inset 0 -10px 18px #1c49822e,0 9px 18px #1c498224}.die:before{background:repeating-linear-gradient(135deg,#ffffff14 0 1px,#0000 1px 9px),linear-gradient(#ffffff29,#0000 44%)}.die:after{border-color:#ffffff38;border-radius:12px;inset:7px;box-shadow:inset 0 0 0 1px #194f970a}.die.used{color:#173f86;filter:none;transform:translate(var(--settle-x,0), var(--settle-y,0)) rotate(var(--settle-r,0deg));background:linear-gradient(155deg,#fffffff5,#e3effceb);border-color:#7ca3cf80;box-shadow:inset 0 1px #ffffffd1,inset 0 -10px 18px #a0c3e926,0 7px 14px #1c498214}.die.used:before{background:repeating-linear-gradient(135deg,#2e63b80e 0 1px,#0000 1px 9px),linear-gradient(#ffffff8a,#0000 48%)}.die.used:after{border-color:#4a80be29}.die-index{display:none}.die-state{opacity:.52;background:#ffffff29;border-color:#ffffff75;width:8px;height:8px;top:11px;right:11px}.die.used .die-state{opacity:.72;background:#2e63b814;border-color:#2e63b833}.die.used .die-state:before{background:#2e63b89e;inset:2px}.die:not(.used):hover{transform:translate(var(--settle-x,0), calc(var(--settle-y,0) - 2px)) rotate(var(--settle-r,0deg))}.die.rolling{animation-name:mobileDiceScatter}.die-word{max-width:92%;padding:9px 2px 4px}.die.long-word .die-word{font-size:.78em;line-height:1.06}.die.extra-long-word .die-word{font-size:.68em;line-height:1.02}.selection-count{z-index:1;margin-top:12px;position:relative}.poem-card{border-radius:13px;width:min(100%,260px);max-width:260px;box-shadow:0 12px 28px #182c471f}.poem-card .moon{width:18px;height:18px;top:23px;left:24px;box-shadow:inset -6px 0 #fff}.poem-card .mountains{height:78px}.top-mountains{top:18px}.bottom-mountains{height:78px}.card-poem{max-height:70px;padding-bottom:2px;font-size:clamp(12px,3.2vw,15px);line-height:1.22;top:58px;left:14px;right:14px}.card-rule{top:132px}.card-rule:after{width:11px;height:11px;font-size:9px;line-height:11px;top:-5px}.card-note{font-size:7px;line-height:1.25;top:147px;left:14px;right:14px}.card-meta{font-size:7px;line-height:1.25;bottom:8px;right:10px}.card-author{font-size:8px;line-height:1.2;bottom:24px;right:10px}.seal{width:30px;height:30px;font-size:14px;bottom:22px;right:10px}.seal:before{inset:3px}.card-panel{z-index:34;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffad;border:1px solid #d8e1eed6;border-radius:20px;grid-area:3/2;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;align-self:start;place-items:start center;gap:7px;margin:0;padding:8px 3px 9px;transition:border-radius .18s,box-shadow .18s,transform .18s;display:grid;position:relative;overflow:visible;box-shadow:0 14px 34px #19375b14}.card-panel:before{content:"";background:#536b9329;border-radius:999px;grid-column:1/-1;justify-self:center;width:38px;height:4px;display:none}.preview-header{grid-area:1/1/auto/-1;align-items:center;width:100%}.preview-header h2{font-size:13px}.card-hint{text-align:center;grid-area:3/1/auto/-1;min-height:15px;font-size:10px;line-height:1.3}.card-dots{grid-area:4/1/auto/-1;justify-content:center;gap:7px}.card-dots button{width:8px;height:8px}.card-panel>.poem-card{grid-area:2/1/auto/-1;justify-self:center}.card-options-row{grid-area:6/1/auto/-1;grid-template-columns:minmax(0,1fr) auto;gap:6px;width:100%;min-width:0;margin:0;display:grid}.card-options-row .signature-field{border-radius:11px;grid-template-columns:auto minmax(0,1fr);gap:4px;width:100%;min-width:0;min-height:34px;padding:0 7px;font-size:10px;display:grid}.card-options-row .signature-field span{font-size:10px}.card-options-row .signature-field input{min-width:0;font-size:12px}.card-options-row .card-panel-row{align-items:center;gap:3px;min-height:34px;display:flex}.card-options-row .card-panel-label{font-size:0}.card-options-row .card-panel-label:after{content:"附码";font-size:10px;line-height:1}.card-options-row .qr-toggle{min-height:34px;padding-left:0}.card-options-row .qr-track{width:30px;height:18px}.card-options-row .qr-thumb{width:14px;height:14px}.card-options-row .qr-toggle input:checked+.qr-track .qr-thumb{transform:translate(12px)}.save-card{border-radius:11px;grid-area:5/1;gap:3px;width:100%;min-width:0;min-height:34px;margin:0;font-size:0;display:inline-flex;box-shadow:0 10px 20px #2358aa33}.save-card:after{content:"入匣";white-space:nowrap;flex:none;font-size:10px;line-height:1}.save-card svg{width:15px;height:15px}.share-actions{display:contents}.share-button{width:100%;min-width:0;min-height:34px;box-shadow:none;border-radius:11px;gap:3px;padding:0 3px;font-size:0}#copyPoem{display:none}#copyPoem:after{content:"诗句";white-space:nowrap;flex:none;font-size:10px;line-height:1}#downloadCard{grid-area:5/2}#downloadCard:after{content:"下载";white-space:nowrap;flex:none;font-size:10px;line-height:1}#copyCard{grid-area:5/3}#copyCard:after{content:"复制";white-space:nowrap;flex:none;font-size:10px;line-height:1}.share-button svg{width:15px;height:15px}#shareCard{display:none}.poetry-dice-app.card-expanded{overflow:hidden}.poetry-dice-app.card-expanded .compose-editor{display:none}.poetry-dice-app.card-expanded .card-panel{z-index:60;overscroll-behavior:contain;width:100vw;height:100dvh;max-height:100dvh;padding:calc(10px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px));background:#f8fbfff5;border-radius:0;grid-template-rows:auto auto auto auto auto auto auto;grid-template-columns:minmax(0,1fr);align-content:start;justify-items:center;gap:8px;margin:0;position:fixed;inset:0;overflow-y:auto;box-shadow:0 28px 80px #0f234047}.poetry-dice-app.card-expanded .poem-card{grid-area:2/1;width:min(100vw - 56px,clamp(230px,75dvh - 270px,340px));max-width:min(100vw - 56px,340px)}.poetry-dice-app.card-expanded .poem-card .moon{width:42px;height:42px;top:58px;left:70px;box-shadow:inset -13px 0 #fff}.poetry-dice-app.card-expanded .poem-card .mountains{height:210px}.poetry-dice-app.card-expanded .top-mountains{top:34px}.poetry-dice-app.card-expanded .bottom-mountains{height:210px}.poetry-dice-app.card-expanded .card-poem{top:var(--card-poem-top,164px);max-height:calc(100% - var(--card-poem-top,164px) - 190px);font-size:var(--card-poem-size,clamp(27px, 2.45vw, 38px));line-height:var(--card-line-height,1.36);padding-bottom:8px;left:28px;right:28px}.poetry-dice-app.card-expanded .card-rule{top:var(--card-rule-top,354px)}.poetry-dice-app.card-expanded .card-rule:after{width:15px;height:15px;font-size:13px;line-height:15px;top:-7px}.poetry-dice-app.card-expanded .card-note{top:var(--card-note-top,386px);font-size:12px;line-height:1.45;left:34px;right:34px}.poetry-dice-app.card-expanded .card-meta{font-size:11px;line-height:1.5;bottom:22px;right:28px}.poetry-dice-app.card-expanded .card-author{font-size:15px;line-height:1.25;bottom:49px;right:28px}.poetry-dice-app.card-expanded .seal{width:76px;height:76px;font-size:36px;bottom:54px;right:26px}.poetry-dice-app.card-expanded .seal:before{inset:7px}.poetry-dice-app.card-expanded .preview-header{z-index:5;background:#f8fbfff5;grid-area:1/1;padding:2px 0 4px;position:sticky;top:0}.poetry-dice-app.card-expanded .card-hint{grid-area:3/1}.poetry-dice-app.card-expanded .card-dots{grid-area:4/1}.poetry-dice-app.card-expanded .card-options-row{grid-area:6/1;width:min(100%,380px);display:grid}.poetry-dice-app.card-expanded .card-panel-row{display:flex}.poetry-dice-app.card-expanded .signature-field{display:grid}.poetry-dice-app.card-expanded .save-card{border-radius:var(--radius-md);grid-area:5/1;gap:10px;width:min(100%,380px);min-height:50px;font-size:18px;display:inline-flex}.poetry-dice-app.card-expanded .save-card:after,.poetry-dice-app.card-expanded #copyPoem:after,.poetry-dice-app.card-expanded #downloadCard:after,.poetry-dice-app.card-expanded #copyCard:after{content:none}.poetry-dice-app.card-expanded .share-actions{grid-area:7/1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,380px);display:grid}.poetry-dice-app.card-expanded .share-button{border-radius:var(--radius-md);gap:10px;min-height:58px;padding:0 8px;font-size:13px}.poetry-dice-app.card-expanded #copyPoem,.poetry-dice-app.card-expanded #downloadCard,.poetry-dice-app.card-expanded #copyCard,.poetry-dice-app.card-expanded #shareCard{grid-area:auto;display:inline-flex}.preview-header,.card-dots,.panel-note{width:100%}.panel-note{grid-area:4/1/auto/-1;margin-top:10px}}@media (width<=560px){.sidebar{padding-inline:14px}.controls-row{margin-inline:-14px;padding-inline:14px}.mode-button{padding-inline:6px}.mode-button strong{font-size:15px}.mode-button span{font-size:9px}.primary-action,.break-primary,.secondary-action{gap:6px;padding:0 8px;font-size:13px}.primary-action svg,.break-primary svg,.secondary-action svg{width:18px;height:18px}.compose-editor{width:min(172px,100vw - clamp(184px,51vw,300px) - 36px);max-width:calc(100vw - clamp(184px,51vw,300px) - 36px);left:14px;right:auto}.compose-editor-head{grid-template-columns:minmax(0,1fr)}.compose-editor-head strong{max-width:100%}.compose-actions{gap:6px}.compose-action{min-height:38px;font-size:11px}.board-heading{flex-direction:column;gap:5px}.board-tools{justify-content:space-between;gap:5px;width:100%}.board-heading span,.break-btn:not(.break-primary){padding:5px 8px;font-size:11px}.dice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 7px;width:min(100%,158px);min-width:0}.dice-grid[data-mode=long]{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,158px);min-width:0}.die{border-radius:14px;font-size:clamp(16px,4.7vw,22px)}.dice-grid[data-mode=long] .die{font-size:clamp(15px,4.2vw,20px)}.card-panel{gap:6px;padding:8px 3px}.preview-header h2{font-size:12px}.poem-card{width:min(100%,190px);max-width:190px}.save-card{min-height:34px;font-size:0}.share-actions{grid-template-columns:1fr;gap:5px}.share-button{flex-direction:row;min-height:34px;padding-inline:5px;font-size:0}}.mobile-brand,.mobile-tabbar,.pack-sheet-backdrop{display:none}.ghost-icon.active{color:var(--blue-deep);opacity:1;background:#2e63b81f}.preview-tools{align-items:center;gap:8px;display:inline-flex}.canvas-mode-panel{background:#ffffff47;border:1px solid #afc0d880;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));display:inline-grid;overflow:hidden}.canvas-mode-panel button{color:#1028578f;min-width:50px;font-family:var(--font-serif);background:0 0;padding:6px 9px;font-size:12px}.canvas-mode-panel button.active{color:var(--blue-deep);background:#2e63b81a}.surprise-action{border-radius:var(--radius-md);color:#102857ad;height:46px;min-height:46px;font-family:var(--font-serif);box-shadow:none;background:#ffffff47;border:1px solid #afc0d87a;justify-content:center;align-self:center;align-items:center;gap:8px;font-size:14px;font-weight:500;transition:transform .16s,border-color .16s,background .16s,color .16s;display:inline-flex}.surprise-action:hover{color:var(--blue-deep);background:#ffffff9e;border-color:#2e63b847;transform:translateY(-1px)}.surprise-action svg{width:18px;height:18px}@media (width>=821px){.controls-row{grid-template-columns:minmax(330px,410px) minmax(230px,270px);justify-self:start;align-items:center;gap:14px;width:min(100%,710px);margin-left:clamp(18px,4.2vw,62px);padding:20px 0 8px}.mode-panel{border-radius:16px;grid-column:auto;min-height:42px}.action-cluster-main{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:10px}.surprise-action,.primary-action{border-radius:14px;height:42px;min-height:42px;font-size:14px}.primary-action{box-shadow:0 8px 18px #2358aa2e}}@media (width>=821px) and (width<=1760px){.controls-row{grid-template-columns:minmax(310px,390px) minmax(220px,260px);width:min(100%,680px)}.mode-panel{grid-column:auto}.dice-grid,.dice-grid[data-mode=long]{width:min(100%,380px)}.board-heading{grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;display:grid}.board-tools{flex-wrap:wrap;justify-content:flex-start}}.card-dots{flex-wrap:wrap;width:auto;margin:2px auto 0}.card-dots button{border:1px solid color-mix(in srgb, var(--theme-accent,#2e63b8) 18%, transparent);color:#102857ad;opacity:.76;width:24px;min-width:0;height:24px;font-family:var(--font-serif);background:#ffffff3d;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0;font-size:0;display:inline-flex;position:relative}.card-dots button:before,.card-dots button:after{z-index:6;opacity:0;pointer-events:none;transition:opacity .14s,transform .14s;position:absolute;left:50%;transform:translate(-50%,4px)}.card-dots button:before{clip-path:polygon(50% 100%,0 0,100% 0);content:"";background:#102857e6;width:8px;height:8px;bottom:calc(100% + 4px)}.card-dots button:after{color:#fff;content:attr(data-tooltip);min-width:56px;font-family:var(--font-ui);white-space:nowrap;background:#102857eb;border-radius:8px;padding:7px 9px;font-size:12px;line-height:1.15;bottom:calc(100% + 10px);box-shadow:0 8px 18px #0f23402e}.card-dots button:hover:before,.card-dots button:hover:after,.card-dots button:focus-visible:before,.card-dots button:focus-visible:after{opacity:1;transform:translate(-50%)}.card-dots button.active{background:color-mix(in srgb, var(--theme-accent,#2e63b8) 8%, white);color:var(--ink);opacity:1;box-shadow:0 0 0 2px color-mix(in srgb, var(--theme-accent,#2e63b8) 16%, transparent)}.theme-swatch{background:var(--theme-accent,var(--blue));border-radius:999px;width:11px;height:11px}.poem-card.canvas-preview-mode .poem-word{cursor:default;pointer-events:none}.poem-card.canvas-preview-mode .break-insert{display:none}@media (width>=821px){.sidebar-story{gap:10px;margin-bottom:30px}.sidebar-story .hint{padding:7px 12px}.sidebar-footer .topbar-links{gap:6px;padding-top:2px;display:flex}.sidebar-footer .text-link{border-radius:9px;justify-content:flex-start;min-height:30px;padding:0 8px}.sidebar-footer .text-link:hover{background:#e2edfa61}.sidebar-footer .top-icons{grid-template-columns:repeat(4,34px);gap:10px;width:min(100%,184px);padding-top:2px;display:grid}.sidebar-footer .ghost-icon{color:#10285775;background:0 0;border-color:#0000;width:34px;height:34px}.controls-row{grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-self:stretch;align-items:stretch;gap:10px;width:auto;max-width:min(420px,100% - 40px);margin-left:20px;margin-right:20px;padding:22px 0 6px}.mode-panel{background:#ffffff38;border-radius:14px;grid-column:1;width:100%;min-height:40px}.mode-button{min-width:0;padding:6px 4px}.mode-button strong{font-size:14px}.mode-button span{font-size:10px}.action-cluster-main{grid-column:1;grid-template-columns:minmax(0,1fr) minmax(0,.94fr) minmax(0,1fr);gap:8px;width:100%}.surprise-action,.primary-action,.break-primary{width:100%;height:44px;min-height:44px}.surprise-action{background:#ffffff61}.primary-action{box-shadow:0 10px 22px #2358aa33}.break-primary{background:#ffffff9e}.dice-board{justify-self:stretch;max-width:min(420px,100% - 40px)}.board-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.board-tools{justify-content:flex-end;align-items:center;gap:7px;padding-top:2px}.board-heading span{display:none}.board-tool{color:#173f8685;width:30px;height:30px;min-height:30px;box-shadow:none;background:#ffffff38;place-items:center;padding:0;font-size:0;display:inline-grid}.board-tool svg{width:15px;height:15px}.break-panel{width:100%;margin:-2px 0 16px}.break-primary{min-height:46px}}@media (width>=1500px){.game-area{grid-template-columns:minmax(560px,700px) minmax(420px,520px);justify-content:center;column-gap:clamp(36px,4vw,72px)}.controls-row,.dice-board{justify-self:center;max-width:min(560px,100% - 40px)}.controls-row{grid-template-columns:minmax(0,1fr);align-items:stretch;width:min(560px,100% - 40px)}.mode-panel,.action-cluster-main{grid-column:1}}@media (width<=820px){.sidebar-story{gap:10px;margin-bottom:24px}.sidebar-footer .topbar-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.sidebar-footer .text-link{background:#ffffff5c;border:1px solid #d8e1eeb8;border-radius:12px;min-height:34px}.sidebar-footer .top-icons{grid-template-columns:repeat(4,38px);gap:10px;display:grid}.sidebar-footer .ghost-icon{background:#ffffff5c;border-color:#d8e1eeb8;width:38px;height:38px}.break-primary{border-radius:16px;justify-content:center;width:100%;min-height:44px}}@media (width<=1220px) and (width>=821px){.card-panel{grid-template-columns:minmax(0,1fr);align-content:start;justify-items:center;gap:12px;padding:18px 20px 30px;display:grid;overflow:visible}.preview-header,.card-panel>.poem-card,.card-hint,.card-dots,.card-options-row,.save-card,.share-actions{grid-area:auto/1;width:min(100%,380px)}.card-panel>.poem-card{aspect-ratio:3/4;width:min(100%,380px,75vh - 195px);max-width:380px}.card-options-row,.save-card,.share-actions{min-width:0}}@media (width<=820px){.poem-card{aspect-ratio:3/4;width:min(100%,330px,75dvh - 270px);max-width:330px}.board-tools{gap:7px}.board-tool{place-items:center;width:32px;height:32px;min-height:32px;padding:0;font-size:0;display:inline-grid}}.pack-guide-modal{width:min(94vw,760px);max-height:calc(100dvh - 32px)}.pack-guide-content{grid-template-rows:auto minmax(0,1fr);max-height:min(82dvh,780px);display:grid;overflow:hidden}.pack-guide-body{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;gap:12px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.guide-hero,.guide-section{border-radius:var(--radius-md);background:#ffffff94;border:1px solid #d8e1eedb;box-shadow:0 10px 26px #19375b0e}.guide-hero{grid-template-columns:62px minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.guide-hero strong,.guide-section h3{color:var(--ink);font-family:var(--font-serif)}.guide-hero strong{font-size:24px;line-height:1.15;display:block}.guide-hero p,.guide-section p{color:#102857b8;font-family:var(--font-serif);margin:4px 0 0;line-height:1.65}.guide-section{padding:14px}.guide-section h3{color:var(--blue-deep);margin:0 0 10px;font-size:17px;font-weight:600}.guide-section ul{color:#102857bd;font-family:var(--font-serif);gap:8px;margin:0;padding-left:18px;line-height:1.55;display:grid}.guide-chip-list{flex-wrap:wrap;gap:8px;display:flex}.guide-chip-list span{border:1px solid color-mix(in srgb, var(--guide-accent,#2e63b8) 18%, transparent);background:color-mix(in srgb, var(--guide-accent,#2e63b8) 10%, transparent);color:var(--guide-accent,var(--blue));font-family:var(--font-serif);border-radius:999px;padding:7px 10px;font-size:14px}.dice-archive{gap:10px;display:grid}.archive-die{border:1px solid color-mix(in srgb, var(--guide-accent,#2e63b8) 14%, transparent);border-radius:var(--radius-sm);background:#ffffff7a;gap:10px;padding:12px;display:grid}.archive-die header{align-items:center;gap:9px;display:flex}.archive-die header span{background:color-mix(in srgb, var(--guide-accent,#2e63b8) 10%, transparent);width:34px;height:34px;color:var(--guide-accent,var(--blue));font-family:var(--font-serif);border-radius:10px;place-items:center;font-size:13px;display:grid}.archive-die header strong{color:var(--ink);font-family:var(--font-serif);font-size:18px}.archive-die>div{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;display:grid}.archive-die>div span{border:1px solid color-mix(in srgb, var(--guide-accent,#2e63b8) 12%, transparent);color:#102857d1;min-height:34px;font-family:var(--font-serif);text-align:center;background:#ffffff80;border-radius:11px;place-items:center;padding:4px 8px;font-size:14px;display:grid}.gallery-modal{width:min(94vw,720px)}.modal-heading p{color:var(--ink-muted);font-family:var(--font-serif);margin:4px 0 0;font-size:13px}.gallery-content{max-height:min(78vh,760px)}.gallery-toolbar{gap:8px;display:flex}.gallery-toolbar button{min-height:34px;color:var(--ink-muted);font-family:var(--font-serif);background:#ffffff85;border:1px solid #afc0d89e;border-radius:999px;padding:0 14px}.gallery-toolbar button.active{background:var(--blue);color:#fff;border-color:#2e63b847}.gallery-empty{border-radius:var(--radius-md);color:var(--ink-muted);font-family:var(--font-serif);text-align:center;background:#f4f8fd9e;border:1px dashed #afc0d8bd;place-items:center;gap:6px;padding:34px 18px;display:grid}.gallery-empty[hidden]{display:none}.gallery-list{gap:12px;padding-right:4px;display:grid;overflow:auto}.gallery-card{border-radius:var(--radius-md);background:#ffffff9e;border:1px solid #d8e1eedb;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.gallery-card-main{min-width:0;color:inherit;text-align:left;background:0 0;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;display:grid}.gallery-card-thumb{border:1px solid color-mix(in srgb, var(--gallery-accent,#2e63b8) 22%, transparent);background:linear-gradient(180deg, #ffffffd1, #f7fbffb3), radial-gradient(circle at 24% 18%, color-mix(in srgb, var(--gallery-accent,#2e63b8) 22%, transparent), transparent 32%);width:58px;height:84px;color:var(--gallery-ink,var(--ink));font-family:var(--font-serif);text-align:center;border-radius:10px;align-content:center;justify-items:center;gap:2px;padding:7px;font-size:8px;line-height:1.25;display:grid;overflow:hidden}.gallery-card-copy{gap:5px;min-width:0;display:grid}.gallery-card-copy strong{color:var(--gallery-ink,var(--ink));font-family:var(--font-serif);font-size:16px}.gallery-card-copy span{color:var(--ink);font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.35;overflow:hidden}.gallery-card-copy small{color:var(--ink-muted);font-family:var(--font-serif);font-size:12px}.gallery-card-actions{gap:6px;display:flex}.gallery-card-actions button{min-height:34px;color:var(--ink-muted);font-family:var(--font-serif);background:#ffffff94;border:1px solid #d8e1eedb;border-radius:999px;padding:0 10px;font-size:12px}.gallery-card-actions button[data-gallery-action=delete]{color:#8f3650}@media (width<=820px){body.poetry-dice-sheet-open{overflow:hidden}.toast{top:auto;bottom:calc(92px + env(safe-area-inset-bottom,0px))}.poetry-dice-app{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.poetry-dice-app.has-selection{padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))}.mobile-brand{justify-items:start;gap:2px;display:grid}.mobile-brand span{color:var(--ink);font-family:var(--font-serif);font-size:28px;line-height:1}.mobile-brand small{color:var(--ink-muted);font-family:var(--font-serif);font-size:12px}.pack-sheet-backdrop{z-index:58;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c1c3447;position:fixed;inset:0}.poetry-dice-app.pack-sheet-open .pack-sheet-backdrop{display:block}.sidebar{z-index:22;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8fbffeb;position:sticky;top:0}.sidebar:not(.is-collapsed){inset:auto 12px calc(84px + env(safe-area-inset-bottom,0px)) 12px;z-index:70;border:1px solid #d8e1eeeb;border-radius:24px;max-height:min(72dvh,620px);padding:18px;display:flex;position:fixed;overflow:auto;box-shadow:0 24px 80px #0f234047}.sidebar:not(.is-collapsed) .pack-list{scroll-snap-type:none;max-height:48dvh;display:grid;overflow:hidden auto}.sidebar:not(.is-collapsed) .pack-card{flex:none;width:100%}.game-area{flex-direction:column;gap:12px;padding:12px 14px 20px;display:flex}.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.hint{order:3;grid-column:1/-1}.top-icons{justify-self:end}.controls-row{z-index:18;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 -14px;padding:8px 14px;position:sticky;top:0}.mode-panel{grid-column:1/-1}.action-cluster{grid-column:1/-1;gap:8px}.action-cluster-utility{border-left:0;padding-left:0}.surprise-action,.primary-action,.break-primary,.secondary-action{min-height:44px}.secondary-action.compact{grid-column:2}.dice-board{width:100%}.dice-grid,.dice-grid[data-mode=long]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,360px)}.dice-grid[data-mode=long]{grid-template-columns:repeat(3,minmax(0,1fr))}.die,.dice-grid[data-mode=long] .die{font-size:clamp(18px,6.2vw,28px)}.card-panel{grid-template-columns:minmax(0,1fr);gap:10px;width:100%;padding:12px;display:grid}.preview-header,.card-panel>.poem-card,.card-hint,.card-dots,.card-options-row,.save-card,.share-actions{grid-area:auto/1}.preview-header h2{font-size:16px}.poem-card{width:min(100%,330px);max-width:330px}.card-dots{justify-content:center}.card-dots button{width:26px;height:26px;font-size:0}.save-card{width:100%;min-height:48px;font-size:16px}.save-card:after,#copyPoem:after,#downloadCard:after,#shareCard:after,#copyCard:after{content:none}.share-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}#shareCard{display:inline-flex}.share-button,#copyPoem,#downloadCard,#shareCard,#copyCard{grid-area:auto;min-height:44px;font-size:12px;display:inline-flex}.card-options-row{width:100%}.compose-editor{right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr);width:auto;max-width:none;padding:10px;left:12px}.compose-actions{grid-template-columns:repeat(4,minmax(0,1fr))}#moveWordPrev,#moveWordNext{display:inline-flex}.mobile-tabbar{right:10px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:56;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #d8e1eedb;border-radius:22px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;display:grid;position:fixed;left:10px;box-shadow:0 18px 48px #0f23402e}.mobile-tabbar button{color:#102857b3;min-width:0;min-height:48px;font-family:var(--font-serif);background:0 0;border-radius:16px;place-items:center;gap:3px;font-size:11px;display:grid}.mobile-tabbar svg{width:19px;height:19px;color:var(--blue-deep)}.gallery-modal{width:min(94vw,560px)}.gallery-content{max-height:min(78dvh,680px);padding:16px}.gallery-card{grid-template-columns:minmax(0,1fr)}.gallery-card-actions{justify-content:end}}@media (width>=821px){.dice-grid{margin-top:8px}.selection-count,.panel-note{margin-top:22px}}@media (width<=820px){.poem-card,.card-panel>.poem-card{aspect-ratio:3/4;width:min(100%,330px,75dvh - 270px);max-width:330px}.board-tools{gap:7px}.board-tool,#rerollOpen,#restart{place-items:center;width:32px;height:32px;min-height:32px;padding:0;font-size:0;display:inline-grid}.board-tool svg{width:15px;height:15px}.selection-count,.panel-note{margin-top:18px}}@media (width>=981px){.app-shell{grid-template-columns:clamp(300px,22vw,360px) minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.app-shell.packs-collapsed{grid-template-columns:96px minmax(0,1fr)}.sidebar{z-index:auto;border-right:1px solid var(--line);max-height:none;box-shadow:none;border-bottom:0;border-radius:0;position:relative;inset:auto;overflow:hidden}.game-area{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(420px,620px) minmax(360px,480px);place-content:start center;column-gap:clamp(24px,3vw,56px);height:100vh;min-height:0;padding:0 24px 24px;display:grid;overflow:hidden}.topbar{display:none}.controls-row{z-index:1;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;grid-area:1/1;grid-template-columns:minmax(0,1fr);justify-self:stretch;gap:10px;width:100%;max-width:none;margin:0;padding:22px 0 12px;position:relative;top:auto}.mode-panel,.action-cluster-main{grid-column:1;width:100%}.action-cluster-main{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:10px}.primary-action,.surprise-action{border-radius:14px;width:100%;height:44px;min-height:44px}.dice-board{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;grid-area:2/1;align-self:stretch;justify-items:center;padding:8px 0 18px;overflow-y:auto}.dice-board:before{display:none}.board-heading{text-align:center;grid-template-columns:minmax(0,1fr);place-items:center;gap:10px;width:100%;max-width:560px;margin:0 0 34px;display:grid}.board-heading p{display:block}#poolStatus{display:none}.board-tools{flex-wrap:nowrap;justify-content:center;gap:7px;width:auto;padding-top:0}.board-tool,.board-tool.break-btn{place-content:center;place-items:center;width:32px;height:32px;min-height:32px;padding:0;font-size:0;display:inline-grid}.dice-grid,.dice-grid[data-mode=long]{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:min(100%,520px)}.panel-note{grid-area:3/1;justify-self:center;width:100%;max-width:560px;margin:16px 0 0}.card-panel{z-index:1;width:100%;min-width:0;height:100vh;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;grid-area:1/2/4;align-content:start;justify-items:center;gap:12px;margin:0;padding:28px 0 30px;display:grid;position:relative;overflow-y:auto}.preview-header,.card-panel>.poem-card,.card-hint,.card-dots,.card-options-row,.save-card,.share-actions{grid-area:auto/1;width:min(100%,420px)}.card-panel>.poem-card,.poem-card{aspect-ratio:3/4;width:min(100%,420px,75vh - 225px);max-width:420px}.card-options-row,.save-card,.share-actions{min-width:0}}@media (width>=981px) and (width<=1260px){.app-shell{grid-template-columns:300px minmax(0,1fr)}.app-shell.packs-collapsed{grid-template-columns:90px minmax(0,1fr)}.game-area{grid-template-columns:minmax(360px,1fr) minmax(300px,380px);column-gap:20px;padding-inline:18px}.dice-grid,.dice-grid[data-mode=long]{gap:14px;width:min(100%,430px)}.preview-header,.card-panel>.poem-card,.card-hint,.card-dots,.card-options-row,.save-card,.share-actions{width:min(100%,360px)}.card-panel>.poem-card,.poem-card{width:min(100%,360px,75vh - 210px);max-width:360px}}@media (width<=980px){body.poetry-dice-sheet-open{overflow:hidden}.poetry-dice-app{min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));background:linear-gradient(#fbfdff,#edf5ff);overflow-x:hidden}.poetry-dice-app.has-selection{padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))}.app-shell,.app-shell.packs-collapsed{flex-direction:column;grid-template-columns:none;width:100%;height:auto;min-height:100dvh;display:flex;overflow:visible}.sidebar,.card-panel,.game-area{border:0;width:auto;max-width:none}.sidebar{z-index:22;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8fbffeb;padding:12px 16px;position:sticky;top:0;overflow:hidden}.sidebar.is-collapsed{display:none}.sidebar:not(.is-collapsed){inset:auto 12px calc(84px + env(safe-area-inset-bottom,0px)) 12px;z-index:70;border:1px solid #d8e1eeeb;border-radius:24px;max-height:min(72dvh,620px);padding:18px;display:flex;position:fixed;overflow:auto;box-shadow:0 24px 80px #0f234047}.sidebar:not(.is-collapsed) .pack-list{scroll-snap-type:none;max-height:48dvh;display:grid;overflow:hidden auto}.game-area{padding:12px 14px calc(96px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:12px;display:flex;overflow:visible}.topbar,.controls-row,.compose-editor,.dice-board,.panel-note,.card-panel{margin-left:0;margin-right:0}.topbar{border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0;display:grid}.mobile-brand{justify-items:start;gap:2px;display:grid}.mobile-brand span{color:var(--ink);font-family:var(--font-serif);font-size:28px;line-height:1}.mobile-brand small{color:var(--ink-muted);font-family:var(--font-serif);font-size:12px}.controls-row{z-index:18;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f6faffeb;border-block:1px solid #d8e1eeb8;grid-template-columns:minmax(0,1fr);justify-self:stretch;gap:8px;width:auto;max-width:none;margin:0 -14px;padding:8px 14px;display:grid;position:sticky;top:0}.mode-panel,.action-cluster{grid-column:1;width:100%}.action-cluster-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.primary-action,.surprise-action{border-radius:14px;min-height:44px;font-size:14px}.dice-board{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;justify-items:center;padding:12px 0 20px;overflow:visible}.dice-board:before{display:none}.board-heading{text-align:center;grid-template-columns:minmax(0,1fr);place-items:center;gap:9px;width:min(100%,520px);margin:0 auto 32px;display:grid}.board-heading p,#poolStatus{display:none}.board-tools{flex-wrap:nowrap;justify-content:center;gap:7px;width:auto}.board-tool,.board-tool.break-btn,#rerollOpen,#addBreak,#restart{place-content:center;place-items:center;width:32px;height:32px;min-height:32px;padding:0;font-size:0;display:inline-grid}.dice-grid,.dice-grid[data-mode=long]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,390px)}.die,.dice-grid[data-mode=long] .die{font-size:clamp(18px,6.2vw,28px)}.panel-note{width:100%;margin:6px 0 0}.card-panel{width:100%;box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 0 20px;display:grid}.preview-header,.card-panel>.poem-card,.card-hint,.card-dots,.card-options-row,.save-card,.share-actions{grid-area:auto/1;justify-self:center;width:min(100%,380px)}.poem-card,.card-panel>.poem-card{aspect-ratio:3/4;width:min(100vw - 48px,clamp(300px,75dvh - 225px,360px));max-width:360px}.card-dots{justify-content:center}.share-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.share-button,#copyPoem,#downloadCard,#shareCard,#copyCard{min-height:44px;font-size:12px;display:inline-flex}#shareCard{display:inline-flex}.mobile-tabbar{right:10px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:56;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #d8e1eedb;border-radius:22px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;display:grid;position:fixed;left:10px;box-shadow:0 18px 48px #0f23402e}.mobile-tabbar button{color:#102857b3;min-width:0;min-height:48px;font-family:var(--font-serif);background:0 0;border-radius:16px;place-items:center;gap:3px;font-size:11px;display:grid}.mobile-tabbar svg{width:19px;height:19px;color:var(--blue-deep)}.pack-sheet-backdrop{z-index:58;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c1c3447;position:fixed;inset:0}.poetry-dice-app.pack-sheet-open .pack-sheet-backdrop{display:block}.poetry-dice-app.card-expanded{overflow:hidden}.poetry-dice-app.card-expanded .compose-editor{display:none}.poetry-dice-app.card-expanded .card-panel{z-index:60;overscroll-behavior:contain;width:100vw;height:100dvh;max-height:100dvh;padding:calc(10px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px));background:#f8fbfff5;border-radius:0;align-content:start;justify-items:center;gap:8px;margin:0;position:fixed;inset:0;overflow-y:auto;box-shadow:0 28px 80px #0f234047}.poetry-dice-app.card-expanded .poem-card{width:min(100vw - 56px,clamp(300px,75dvh - 270px,360px));max-width:360px}}@media (width>=700px) and (width<=980px){.poetry-dice-app.pack-sheet-open .pack-sheet-backdrop{display:none}.sidebar:not(.is-collapsed){inset:12px auto calc(84px + env(safe-area-inset-bottom,0px)) 12px;border-radius:22px;width:min(360px,42vw);max-height:calc(100dvh - 110px);padding:16px}.sidebar:not(.is-collapsed)+.game-area{padding-left:calc(min(360px,42vw) + 20px);transition:padding-left .18s}.sidebar:not(.is-collapsed) .brand h1{font-size:clamp(32px,5vw,42px)}.sidebar:not(.is-collapsed) .sidebar-story{margin-bottom:20px}.sidebar:not(.is-collapsed) .rail-heading{align-items:center}.sidebar:not(.is-collapsed) .pack-list{max-height:min(42dvh,430px)}.sidebar:not(.is-collapsed) .pack-card{grid-template-columns:52px minmax(0,1fr);min-height:92px;padding:12px 42px 12px 12px}}.card-panel.is-card-editing .save-card,.card-panel.is-card-editing .share-actions{display:none}.card-panel.is-card-finalizing .save-card{min-height:42px;margin-top:4px;display:inline-flex}.card-panel.is-card-finalizing .share-actions{margin-top:0;display:grid}.card-panel.is-card-finalizing .share-button{min-height:38px}.card-panel.is-card-finalizing .save-card:after,.card-panel.is-card-finalizing #copyPoem:after,.card-panel.is-card-finalizing #downloadCard:after,.card-panel.is-card-finalizing #shareCard:after,.card-panel.is-card-finalizing #copyCard:after{content:none}.card-dots,.card-options-row,.save-card,.share-actions{flex:none}.card-dots{align-items:center;width:min(100%,340px);margin:4px auto 0}.card-options-row{margin-top:0}@media (width>=981px){.card-panel{flex-flow:column;align-items:center;display:flex}.preview-header,.card-panel>.poem-card,.card-hint,.card-dots,.card-options-row,.save-card,.share-actions{flex:none;grid-area:auto}.card-panel.is-card-finalizing .card-dots{margin-top:12px}}@media (width<=980px){.card-panel{flex-flow:column;align-items:center;display:flex}.card-panel.is-card-finalizing #copyPoem,.card-panel.is-card-finalizing #downloadCard,.card-panel.is-card-finalizing #copyCard,.card-panel.is-card-finalizing #shareCard{grid-area:auto;display:inline-flex}.card-panel.is-card-finalizing .save-card{border-radius:16px;width:min(100%,380px);min-height:42px;font-size:15px}.card-panel.is-card-finalizing .share-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(100%,380px)}.card-panel.is-card-finalizing .share-button,.card-panel.is-card-finalizing #copyPoem,.card-panel.is-card-finalizing #downloadCard,.card-panel.is-card-finalizing #copyCard,.card-panel.is-card-finalizing #shareCard{border-radius:14px;min-height:40px;font-size:12px}.card-options-row{width:min(100%,380px)}.card-options-row .signature-field{min-height:38px;padding:0 11px}.poetry-dice-app.card-expanded .card-panel{flex-flow:column;justify-content:flex-start;align-items:center;gap:8px;display:flex}.poetry-dice-app.card-expanded .preview-header{flex:none;width:min(100%,420px)}.poetry-dice-app.card-expanded .poem-card{flex:none;margin:0 0 4px}.poetry-dice-app.card-expanded .card-hint{flex:none;width:min(100%,380px);min-height:16px;margin-top:0}.poetry-dice-app.card-expanded .card-dots,.poetry-dice-app.card-expanded .card-options-row,.poetry-dice-app.card-expanded .save-card,.poetry-dice-app.card-expanded .share-actions{flex:none;grid-area:auto;justify-self:auto;width:min(100%,380px)}.poetry-dice-app.card-expanded .card-dots{margin-top:2px}.poetry-dice-app.card-expanded .card-options-row{margin-top:0}.poetry-dice-app.card-expanded .card-panel.is-card-editing .poem-card{width:min(100vw - 56px,clamp(320px,75dvh - 172.5px,420px));max-width:420px}.poetry-dice-app.card-expanded .card-panel.is-card-finalizing .poem-card{width:min(100vw - 56px,clamp(300px,75dvh - 262.5px,380px));max-width:380px}.poetry-dice-app.card-expanded .card-panel.is-card-finalizing .save-card{min-height:42px;margin-top:4px}.poetry-dice-app.card-expanded .card-panel.is-card-finalizing .share-actions{gap:8px}.poetry-dice-app.card-expanded .card-panel.is-card-finalizing .share-button{min-height:40px}}@media (width<=420px){.poetry-dice-app.card-expanded .card-panel{padding-left:12px;padding-right:12px}.poetry-dice-app.card-expanded .card-panel.is-card-editing .poem-card{width:min(100vw - 32px,clamp(300px,75dvh - 165px,360px));max-width:360px}.poetry-dice-app.card-expanded .card-panel.is-card-finalizing .poem-card{width:min(100vw - 32px,clamp(286px,75dvh - 247.5px,340px));max-width:340px}}.board-playfield{justify-content:center;align-items:center;min-width:0;display:grid}.board-side-actions{place-items:center;min-width:0;display:grid}.board-side-actions .primary-action,.board-side-actions .surprise-action{text-align:center}.board-side-actions .primary-action span,.board-side-actions .surprise-action span{display:block}.board-playfield .primary-action:hover,.board-playfield .surprise-action:hover{transform:none}@media (width>=981px){.game-area{--dice-stage-size:min(470px, calc(100dvh - 290px));grid-template-rows:auto minmax(0,1fr) auto;padding-top:18px;position:relative;overflow:hidden}.card-panel{align-self:start;height:calc(100dvh - 18px)}.controls-row{grid-template-columns:minmax(0,1fr);justify-self:center;width:min(100%,620px);max-width:none;margin:0;padding:14px 0 8px}.controls-row .mode-panel{width:100%;min-height:42px}.dice-board{grid-template-rows:auto auto auto;align-content:start;align-self:stretch;justify-items:center;padding:2px 0 0;display:grid;overflow:visible;container-type:inline-size}.board-heading{text-align:center;justify-content:center;justify-items:center;gap:3px;width:min(100%,520px);max-width:none;margin:0 auto 12px;display:grid}.board-heading h2{font-size:clamp(25px,2.3vw,32px);line-height:1.08}.board-heading p{font-size:14px;line-height:1.35;display:block}.board-heading p.is-notice,.selection-count.is-notice,.compose-editor-head p.is-notice,.compose-editor-head strong.is-notice{color:var(--blue-deep);font-weight:600;animation:.22s ease-out boardStatusIn}.compose-editor-head strong.is-notice{border-color:color-mix(in srgb, var(--blue) 34%, var(--line));background:var(--blue-soft);color:var(--blue-deep)}.selection-count.is-notice{white-space:nowrap}.selection-count.is-notice:before{content:none}@keyframes boardStatusIn{0%{opacity:.45;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.board-playfield{width:min(100%, calc(var(--dice-stage-size) + 196px));grid-template-columns:78px minmax(0,1fr) 90px;gap:clamp(8px,1vw,14px)}.board-playfield .dice-grid{width:min(100%, var(--dice-stage-size));grid-template-columns:repeat(3,minmax(0,1fr));justify-self:center;gap:clamp(10px,1.1vw,16px)}.board-playfield .dice-grid[data-mode=long]{width:min(100%, var(--dice-stage-size), max(300px, calc((100dvh - 250px) * .72)));gap:clamp(8px,.9vw,12px)}.board-side-actions{gap:12px}.board-side-actions-left,.board-side-actions-right{align-content:center;align-self:center}.board-playfield .primary-action,.board-playfield .surprise-action{white-space:normal;border-radius:18px;flex-direction:column;gap:6px;width:76px;height:auto;min-height:82px;padding:10px 8px;font-size:13px;line-height:1.16}.board-playfield .surprise-action{min-height:76px}.board-playfield .primary-action svg,.board-playfield .surprise-action svg{width:22px;height:22px}.board-side-actions .board-tools{grid-template-columns:1fr;justify-content:center;justify-items:center;gap:10px;display:grid}.board-side-actions .board-tool,.board-side-actions .board-tool.break-btn{color:#173f86b8;width:62px;height:58px;min-height:58px;font-family:var(--font-serif);background:#ffffff80;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;font-size:11px;line-height:1;display:inline-flex}.board-side-actions .board-tool:hover,.board-side-actions .board-tool:focus-visible{color:var(--blue-deep);background:#fffc;border-color:#2e63b847;box-shadow:0 12px 26px #234c871f}.board-side-actions .board-tool svg,.board-side-actions .board-tool.break-btn svg{grid-area:auto;width:20px;height:20px}.board-side-actions .board-tool-label,.board-side-actions .board-tool .break-label{font-size:11px;line-height:1;display:block}.board-side-actions-right .board-tool:before{clip-path:polygon(0 50%,100% 0,100% 100%);top:50%;left:calc(100% + 6px);transform:translate(4px,-50%)}.board-side-actions-right .board-tool:after{border-radius:12px;min-width:88px;padding:8px 11px;top:50%;left:calc(100% + 14px);transform:translate(4px,-50%)}.board-side-actions-right .board-tool:hover:before,.board-side-actions-right .board-tool:hover:after,.board-side-actions-right .board-tool:focus-visible:before,.board-side-actions-right .board-tool:focus-visible:after{transform:translateY(-50%)}.board-side-actions #poolStatus{display:none}.selection-count{margin-top:10px}.panel-note{justify-self:center;width:min(100%,520px);max-width:none;margin-top:8px;margin-bottom:0}.toast{top:auto;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;right:auto;transform:translate(-50%,8px)}.toast.visible{transform:translate(-50%)}}@media (width>=981px) and (height<=780px){.game-area{--dice-stage-size:min(430px, calc(100dvh - 318px));padding-top:10px}.card-panel{height:calc(100dvh - 10px)}.controls-row{padding-top:10px;padding-bottom:6px}.controls-row .mode-panel{min-height:38px}.mode-button strong{font-size:14px}.mode-button span{font-size:9px}.board-heading{gap:2px;margin-bottom:8px}.board-heading h2{font-size:24px}.board-heading p{font-size:13px}.board-playfield .primary-action,.board-playfield .surprise-action{border-radius:17px;min-height:72px}.selection-count{margin-top:6px}.panel-note{margin-top:4px}.dice-board:has(.dice-grid[data-mode=long])+.panel-note{display:none}}@media (width>=981px) and (width<=1260px){.game-area{--dice-stage-size:min(350px, calc(100dvh - 300px))}.board-playfield{grid-template-columns:76px minmax(0,1fr) 86px;gap:10px}.board-playfield .primary-action,.board-playfield .surprise-action{width:72px}.board-side-actions .board-tool,.board-side-actions .board-tool.break-btn{width:58px;height:54px;min-height:54px}}@container (width<=590px){.board-playfield{width:min(100%, var(--dice-stage-size));grid-template-columns:minmax(0,1fr);gap:10px}.board-side-actions{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.board-side-actions-left{order:-1}.board-side-actions-right{order:2}.board-playfield .dice-grid{width:min(100%, var(--dice-stage-size));order:1}.board-playfield .dice-grid[data-mode=long]{width:min(100%, var(--dice-stage-size), max(300px, calc((100dvh - 250px) * .72)))}.board-playfield .primary-action,.board-playfield .surprise-action{border-radius:14px;flex-direction:row;width:auto;min-width:132px;min-height:44px;font-size:14px}.board-side-actions .board-tools{justify-content:center;gap:8px;width:auto;display:flex}.board-side-actions .board-tool,.board-side-actions .board-tool.break-btn{width:58px;height:54px;min-height:54px}.board-side-actions .board-tool:before,.board-side-actions .board-tool:after{display:none}}@media (width<=980px){.controls-row{grid-template-columns:minmax(0,1fr)}.board-playfield{grid-template-columns:minmax(0,1fr);gap:12px;width:min(100%,390px)}.board-side-actions{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.board-side-actions-left{order:-1}.board-side-actions-right{order:2}.board-playfield .dice-grid{order:1;justify-self:center}.board-playfield .primary-action,.board-playfield .surprise-action{border-radius:14px;width:auto;min-width:132px;height:auto;min-height:42px;padding:0 16px;font-size:14px}.board-side-actions .board-tools{justify-content:center;gap:7px;width:auto;display:flex}.board-side-actions #poolStatus{display:none}}.poetry-dice-app.card-expanded{overflow:hidden}.poetry-dice-app.card-expanded .card-panel{z-index:90;overscroll-behavior:contain;width:100vw;height:100dvh;max-height:100dvh;padding:calc(18px + env(safe-area-inset-top,0px)) 20px calc(22px + env(safe-area-inset-bottom,0px));background:#f8fbfff7;border:0;border-radius:0;flex-flow:column;justify-content:flex-start;align-items:center;gap:10px;margin:0;display:flex;position:fixed;inset:0;overflow-y:auto;box-shadow:0 30px 90px #0f23404d}.poetry-dice-app.card-expanded .preview-header{z-index:4;background:linear-gradient(#f8fbfffa,#f8fbffdb);width:min(100%,720px);padding:0 0 6px;position:sticky;top:0}.poetry-dice-app.card-expanded .poem-card{aspect-ratio:3/4;flex:none;width:min(100vw - 64px,75dvh - 187.5px,520px);max-width:520px;margin:0 0 6px}.poetry-dice-app.card-expanded .card-hint,.poetry-dice-app.card-expanded .card-dots,.poetry-dice-app.card-expanded .card-options-row,.poetry-dice-app.card-expanded .save-card,.poetry-dice-app.card-expanded .share-actions{width:min(100%,420px)}@media (width<=980px){.poetry-dice-app.card-expanded .card-panel{padding:calc(10px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px));gap:8px}.poetry-dice-app.card-expanded .preview-header{width:min(100%,420px)}.poetry-dice-app.card-expanded .poem-card{width:min(100vw - 56px,clamp(300px,75dvh - 172.5px,420px));max-width:420px}}@media (width<=420px){.poetry-dice-app.card-expanded .poem-card{width:min(100vw - 32px,clamp(300px,75dvh - 165px,360px));max-width:360px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}.card-dots{min-height:32px}.card-dots button{flex:none;gap:6px;width:28px;height:28px;transition:width .22s cubic-bezier(.2,.8,.2,1),padding .22s cubic-bezier(.2,.8,.2,1),transform 90ms ease-out,opacity .16s,border-color .16s,background .16s;overflow:visible}.card-dots button.active{width:auto;min-width:64px;padding:0 10px}.theme-swatch{flex:none;position:relative}.theme-name{max-width:0;color:var(--card-ink,var(--ink));font-family:var(--font-serif);opacity:0;white-space:nowrap;font-size:12px;line-height:1;transition:max-width .22s cubic-bezier(.2,.8,.2,1),opacity .15s;display:block;overflow:hidden}.card-dots button.active .theme-name{opacity:.82;max-width:4em}.card-dots button.is-loading .theme-swatch:after{border:1.5px solid color-mix(in srgb, var(--theme-accent,#2e63b8) 22%, transparent);border-top-color:var(--theme-accent,#2e63b8);content:"";border-radius:999px;animation:.7s linear infinite cardThemeLoading;position:absolute;inset:-4px}.card-dots button.is-error{border-style:dashed;border-color:#9a465d57}.poem-card .card-art{opacity:1;transition:opacity .18s}.poem-card.is-theme-loading .card-art{opacity:.82}.share-button.is-busy,.save-card.is-busy{cursor:progress;pointer-events:none}.share-button.is-busy svg,.save-card.is-busy svg,.share-button.is-success svg,.save-card.is-success svg{display:none}.share-button.is-busy:before,.save-card.is-busy:before{content:"";border:1.5px solid #2e63b833;border-top-color:currentColor;border-radius:999px;flex:0 0 16px;width:16px;height:16px;animation:.7s linear infinite cardThemeLoading;display:block}.primary-action:active,.surprise-action:active,.board-tool:active,.share-button:active,.save-card:active,.icon-button:active,.canvas-mode-panel button:active,.card-dots button:active,.gallery-entry:active,.new-pack:active,.mobile-tabbar button:active{transition-duration:90ms;transform:scale(.97)}@keyframes cardThemeLoading{to{transform:rotate(360deg)}}@media (hover:none){.card-dots button:before,.card-dots button:after{display:none}}@media (width<=980px){.poetry-dice-app.card-finalizing .compose-editor{display:none!important}}@media (width<=820px){.card-dots{gap:8px;width:min(100%,360px);min-height:36px;padding:2px 1px}.card-dots button{width:30px;height:30px}.card-dots button.active{width:auto;min-width:68px}.share-button,#copyPoem,#downloadCard,#shareCard,#copyCard{touch-action:manipulation}}@media (prefers-reduced-motion:reduce){.card-dots button.is-loading .theme-swatch:after,.share-button.is-busy:before,.save-card.is-busy:before{opacity:.5;border-color:currentColor;animation:none}}.mobile-home,.mobile-pack-picker{display:none}.die-shell{aspect-ratio:1;width:100%;min-width:0;position:relative}.die-shell>.die{width:100%;height:100%}.die-reroll{z-index:8;color:#fff;opacity:0;background:#123669b8;border:1px solid #ffffff8a;border-radius:999px;place-items:center;width:32px;height:32px;transition:opacity .14s,transform .14s,background .14s;display:grid;position:absolute;bottom:9px;right:9px;transform:translateY(4px)scale(.92);box-shadow:0 8px 18px #091f4238}.die-reroll svg{width:16px;height:16px}.die-shell:hover .die-reroll,.die-shell:focus-within .die-reroll{opacity:1;transform:translateY(0)scale(1)}.die-reroll:disabled{display:none}.dice-grid.is-rolling .die-reroll{pointer-events:none;opacity:0}.die-shell.just-rerolled .die{animation:.48s cubic-bezier(.2,.8,.2,1) singleDieReroll}@keyframes singleDieReroll{0%{filter:blur(1.5px);transform:scale(.88)rotate(-7deg)}64%{filter:blur();transform:scale(1.035)rotate(2deg)}to{transform:scale(1)rotate(0)}}.pack-card.is-locked{background:color-mix(in srgb, var(--paper) 72%, transparent);border-style:solid}.pack-card.is-locked .pack-thumb,.pack-card.is-locked .pack-copy{opacity:.72}.pack-card.is-locked .checkmark{border-color:var(--line);background:var(--paper-soft);color:var(--ink-muted);display:grid}.guide-hero-locked small{color:var(--ink-muted);margin-bottom:5px;font-size:11px;display:block}.premium-pack-note{border:1px solid color-mix(in srgb, var(--blue) 20%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--blue-soft) 54%, var(--paper));color:var(--ink-muted);font-family:var(--font-serif);gap:5px;padding:15px 16px;font-size:13px;line-height:1.6;display:grid}.premium-pack-note strong{color:var(--ink);font-size:15px}.field-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-heading strong{color:var(--blue-deep);font-variant-numeric:tabular-nums}.custom-pack-tools{flex-wrap:wrap;gap:7px;margin-top:-8px;display:flex}.custom-pack-tools button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-soft);min-height:34px;color:var(--ink-muted);padding:0 11px;font-size:12px}.custom-pack-status{color:#92516a;margin-top:-7px;font-size:12px;line-height:1.45}.custom-pack-status.is-ready{color:#3d7961}.custom-pack-preview{flex-wrap:wrap;gap:6px;min-height:34px;display:flex}.custom-pack-preview span{border:1px solid var(--line);background:var(--paper-soft);color:var(--ink-muted);font-family:var(--font-serif);border-radius:999px;padding:5px 8px;font-size:12px}.gallery-toolbar{flex-wrap:wrap}.gallery-card{transition:border-color .18s,background .18s,box-shadow .18s;overflow:hidden}.gallery-card.is-expanded{border-color:color-mix(in srgb, var(--gallery-accent) 34%, var(--line));background:var(--paper);box-shadow:var(--soft-shadow);grid-template-columns:minmax(0,1fr)}.gallery-expand-cue{color:var(--ink-faint);font-size:25px;transition:transform .18s;transform:rotate(90deg)}.gallery-card.is-expanded .gallery-expand-cue{transform:rotate(-90deg)}.gallery-card-detail{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr);gap:16px;padding:16px;display:grid}.gallery-poem-preview{border:1px solid color-mix(in srgb, var(--gallery-accent) 20%, var(--line));border-radius:var(--radius-sm);background:linear-gradient(180deg, #ffffffdb, #f2f7fccc), radial-gradient(circle at 20% 18%, color-mix(in srgb, var(--gallery-accent) 18%, transparent), transparent 30%);min-height:210px;color:var(--gallery-ink);font-family:var(--font-serif);text-align:center;align-content:center;justify-items:center;gap:5px;padding:24px 18px;font-size:19px;line-height:1.45;display:grid}.gallery-poem-preview small{color:var(--ink-muted);margin-top:22px;font-size:11px}.gallery-card-detail .gallery-card-actions button{border-radius:var(--radius-sm);min-height:42px}.gallery-card-detail .gallery-card-actions .gallery-restore{background:var(--blue);color:#fff;border-color:#0000;grid-column:1/-1}.first-poem-content,.confirm-content,.onboarding-content{text-align:center;justify-items:center;position:relative}.first-poem-content{padding:34px}.first-poem-close{position:absolute;top:16px;right:16px}.first-poem-mark{background:var(--blue-soft);width:52px;height:52px;color:var(--blue);border-radius:50%;place-items:center;font-size:24px;display:grid}.first-poem-content>small,.confirm-content>small,.onboarding-content>small{color:var(--ink-muted);font-family:var(--font-serif)}.first-poem-content h2,.confirm-content h2,.onboarding-content h2{color:var(--ink);font-family:var(--font-serif);margin:0;font-size:25px}.first-poem-content p{white-space:pre-line;color:var(--ink);font-family:var(--font-serif);margin:0;font-size:20px;line-height:1.6}.first-poem-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.confirm-content{text-align:left;justify-items:start}.confirm-content p{color:var(--ink-muted);margin:-8px 0 0;line-height:1.6}.danger-action{border-radius:var(--radius-sm);color:#fff;background:#9a465d;min-height:44px;padding:0 18px}.onboarding-skip{position:absolute;top:20px;right:22px}.onboarding-visual{width:176px;height:156px;margin:12px 0 4px;position:relative}.onboarding-visual:before,.onboarding-visual:after{content:"";position:absolute}.onboarding-visual[data-visual=dice]:before{background:linear-gradient(145deg,#73a6df,#326eb9);border:1px solid #ffffff75;border-radius:20px;inset:24px 48px 28px;transform:rotate(-7deg);box-shadow:0 18px 34px #28579b38}.onboarding-visual[data-visual=dice]:after{background:linear-gradient(145deg,#83b4e7,#3b72bd);border:1px solid #fff6;border-radius:20px;inset:38px 34px 14px 62px;transform:rotate(8deg);box-shadow:0 18px 34px #28579b2e}.onboarding-visual[data-visual=scissors]:before{border-block:1px solid var(--line-strong);background:repeating-linear-gradient(90deg,#0000 0 20px,#2e63b814 20px 21px);width:116px;height:78px;top:32px;left:30px}.onboarding-visual[data-visual=scissors]:after{border:8px double var(--blue);border-radius:50%;width:48px;height:48px;top:80px;left:66px;transform:rotate(-36deg)}.onboarding-visual[data-visual=card]:before{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:linear-gradient(160deg,#fff,#e5edf5);inset:5px 40px;box-shadow:0 20px 40px #1f3b5f29}.onboarding-visual[data-visual=card]:after{background:var(--blue);width:50px;height:2px;top:58px;left:63px;box-shadow:0 12px #2e63b899,0 24px #2e63b859}.onboarding-content>p{max-width:330px;color:var(--ink-muted);font-family:var(--font-serif);margin:-7px 0 0;line-height:1.65}.onboarding-footer{grid-template-columns:1fr minmax(120px,auto);align-items:center;gap:20px;width:100%;display:grid}.onboarding-dots{gap:7px;display:flex}.onboarding-dots span{background:var(--line-strong);border-radius:999px;width:7px;height:7px;transition:width .18s,background .18s}.onboarding-dots span.active{background:var(--blue);width:24px}.icon-button[data-tooltip],.ghost-icon[data-tooltip]{position:relative}.die-reroll[data-tooltip]{position:absolute}.icon-button[data-tooltip]:after,.ghost-icon[data-tooltip]:after,.die-reroll[data-tooltip]:after{z-index:120;color:#fff;content:attr(data-tooltip);width:max-content;min-width:72px;max-width:180px;font-family:var(--font-ui);opacity:0;pointer-events:none;white-space:normal;background:#0c1f40f0;border-radius:7px;padding:8px 10px;font-size:12px;line-height:1.3;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(4px)}.icon-button[data-tooltip]:hover:after,.icon-button[data-tooltip]:focus-visible:after,.ghost-icon[data-tooltip]:hover:after,.ghost-icon[data-tooltip]:focus-visible:after,.die-reroll[data-tooltip]:hover:after,.die-reroll[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.modal-heading .icon-button[data-tooltip]:after,.first-poem-close[data-tooltip]:after{top:calc(100% + 8px);bottom:auto}.poetry-dice-app.night{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.poetry-dice-app.night .app-shell{background:linear-gradient(90deg,#0c131fd1,#0000 26%),linear-gradient(#1a283d47,#0000 44%)}.poetry-dice-app.night .mode-panel,.poetry-dice-app.night .mode-button,.poetry-dice-app.night .gallery-card,.poetry-dice-app.night .gallery-empty,.poetry-dice-app.night .gallery-toolbar button,.poetry-dice-app.night .custom-pack-tools button,.poetry-dice-app.night .custom-pack-preview span,.poetry-dice-app.night .mobile-draft-card,.poetry-dice-app.night .mobile-recent-card{border-color:var(--line);background:color-mix(in srgb, var(--paper) 86%, transparent);color:var(--ink)}.poetry-dice-app.night .mode-button{color:var(--ink-muted)}.poetry-dice-app.night .mode-button.active{background:var(--blue-soft);color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 32%, transparent)}.poetry-dice-app.night .gallery-entry{border-color:color-mix(in srgb, var(--blue) 32%, var(--line));background:linear-gradient(135deg, #253a56f5, #192539f0), var(--paper);color:var(--ink);box-shadow:0 14px 34px #020a173d}.poetry-dice-app.night .gallery-entry:hover{border-color:color-mix(in srgb, var(--blue) 52%, var(--line));background:linear-gradient(135deg, #2b4466fa, #1c2a40f5), var(--paper)}.poetry-dice-app.night .gallery-entry small{color:var(--ink-muted)}.poetry-dice-app.night .card-dots button{background:color-mix(in srgb, var(--paper-soft) 74%, transparent);color:var(--ink-muted)}.poetry-dice-app.night .card-dots button.active{background:color-mix(in srgb, var(--theme-accent,#7eaaf2) 20%, var(--paper-soft));color:var(--ink)}.poetry-dice-app.night .modal,.poetry-dice-app.night .modal-content{background:var(--paper);color:var(--ink)}.poetry-dice-app.night .gallery-poem-preview{background:linear-gradient(180deg, #eef3f9f0, #dbe5f0e6), radial-gradient(circle at 20% 18%, color-mix(in srgb, var(--gallery-accent) 18%, transparent), transparent 30%)}.poetry-dice-app.night .card-panel,.poetry-dice-app.night .sidebar{border-color:var(--line)}@media (hover:none){.die-reroll,.icon-button[data-tooltip]:after,.ghost-icon[data-tooltip]:after,.die-reroll[data-tooltip]:after{display:none}}@media (width<=980px){.topbar{min-height:44px}.mobile-pack-picker{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--paper) 84%, transparent);max-width:min(54vw,220px);min-height:40px;color:var(--ink-muted);font-family:var(--font-serif);justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;display:inline-flex}.mobile-pack-picker svg{flex:none;width:17px;height:17px}.mobile-pack-picker span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-home{align-self:center;gap:18px;width:min(100%,520px);padding:clamp(20px,6vw,38px) 2px 24px;display:none}.poetry-dice-app[data-mobile-view=home] .mobile-home{display:grid}.poetry-dice-app[data-mobile-view=home] .controls-row,.poetry-dice-app[data-mobile-view=home] .compose-editor,.poetry-dice-app[data-mobile-view=home] .dice-board,.poetry-dice-app[data-mobile-view=home] .panel-note,.poetry-dice-app[data-mobile-view=home] .card-panel{display:none!important}.mobile-home-intro{gap:8px;padding:8px 4px 4px;display:grid}.mobile-home-intro small{color:var(--blue);font-size:12px;font-weight:600}.mobile-home-intro h2{color:var(--ink);font-family:var(--font-serif);margin:0;font-size:clamp(28px,8vw,38px);font-weight:600;line-height:1.15}.mobile-home-intro p{color:var(--ink-muted);font-family:var(--font-serif);margin:0;font-size:15px;line-height:1.7}.mobile-draft-card{border:1px solid color-mix(in srgb, var(--blue) 24%, var(--line));border-radius:var(--radius-md);min-height:180px;color:var(--ink);text-align:left;box-shadow:var(--soft-shadow);background:linear-gradient(145deg,#ffffffe0,#e8f1fac2),radial-gradient(circle at 80% 18%,#2e63b824,#0000 34%);align-content:end;justify-items:start;gap:7px;padding:22px;display:grid;overflow:hidden}.mobile-draft-label{color:var(--blue);font-size:12px}.mobile-draft-card strong{font-family:var(--font-serif);font-size:24px;font-weight:600;line-height:1.4}.mobile-draft-card small{color:var(--ink-muted);font-family:var(--font-serif)}.mobile-home-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:9px;display:grid}.mobile-home-actions .primary-action,.mobile-home-actions .secondary-action{min-height:50px}.mobile-home-actions .secondary-action{border-color:var(--line-strong);background:color-mix(in srgb, var(--paper) 88%, transparent);color:var(--ink-muted)}.mobile-recent{gap:9px;padding-top:8px;display:grid}.mobile-recent[hidden]{display:none}.mobile-recent-head{color:var(--ink);font-family:var(--font-serif);justify-content:space-between;align-items:center;display:flex}.mobile-recent-head button{color:var(--blue-deep);background:0 0;font-size:12px}.mobile-recent-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);text-align:left;gap:5px;padding:15px;display:grid}.mobile-recent-card span{font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-recent-card small{color:var(--ink-muted)}.mobile-tabbar{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-tabbar button.active{background:var(--blue-soft);color:var(--blue-deep)}.board-side-actions .board-tools{gap:8px}.board-playfield{flex-direction:column;align-items:center;width:100%;display:flex}.board-side-actions-left{order:1}.board-side-actions-right{order:2;margin:10px 0 14px}.board-playfield .dice-grid{order:3;width:min(100%,350px)}.board-playfield .dice-grid[data-mode=long]{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(100%,360px)}.dice-grid[data-mode=long] .die{font-size:clamp(15px,4.6vw,20px)}.board-side-actions .board-tool,.board-side-actions .board-tool.break-btn,#rerollOpen,#addBreak,#restart{border-radius:var(--radius-sm);width:64px;height:46px;min-height:46px;font-family:var(--font-serif);flex-direction:column;gap:3px;padding:0 5px;font-size:10px;display:inline-flex}.board-side-actions .board-tool-label,.board-side-actions .board-tool .break-label{font-size:10px;display:block}.board-side-actions .board-tool svg,.board-side-actions .board-tool.break-btn svg{grid-area:auto;width:17px;height:17px}.gallery-modal{border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none}.gallery-content{width:100%;height:100%;max-height:none;padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(94px + env(safe-area-inset-bottom,0px))}.gallery-list{min-height:0}.gallery-card-main{grid-template-columns:52px minmax(0,1fr) auto}.gallery-card-detail{grid-template-columns:minmax(0,1fr);padding:12px}.gallery-poem-preview{min-height:240px}.first-poem-modal,.onboarding-modal{width:min(100vw - 24px,520px)}.poetry-dice-app.night,.poetry-dice-app.night .game-area{background:linear-gradient(#111a2a,#18283d)}.poetry-dice-app.night .sidebar,.poetry-dice-app.night .controls-row,.poetry-dice-app.night .mobile-tabbar,.poetry-dice-app.night.card-expanded .card-panel{border-color:var(--line);background:#141f30f0}}@media (width>=981px){.board-playfield .dice-grid[data-mode=long]{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=420px){.mobile-home-actions,.first-poem-actions{grid-template-columns:minmax(0,1fr)}.onboarding-content{padding:22px 20px}.onboarding-footer{grid-template-columns:1fr auto}}@media (width<=980px) and (height<=700px){.board-heading{margin-bottom:14px}.board-playfield{gap:6px}.board-side-actions-right{margin:3px 0 5px}.board-playfield .dice-grid{gap:7px;width:min(100%,286px)}.board-playfield .dice-grid[data-mode=long]{gap:6px;width:min(100%,328px)}}@media (prefers-reduced-transparency:reduce){.sidebar,.card-panel,.controls-row,.mobile-tabbar,.toast{background:var(--paper)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media (width>=981px){.dice-grid[data-mode=long] .die{font-size:clamp(24px,2.15vw,30px)}.dice-grid[data-mode=long] .die-word{max-width:calc(100% - 12px);max-height:calc(100% - 12px);padding:5px 3px 2px;line-height:1}.dice-grid[data-mode=long] .die.long-word .die-word{font-size:.78em;line-height:1}.dice-grid[data-mode=long] .die.extra-long-word .die-word{font-size:.7em;line-height:.98}}.poetry-dice-app.night .hint,.poetry-dice-app.night .new-pack,.poetry-dice-app.night .surprise-action,.poetry-dice-app.night .board-side-actions .board-tool,.poetry-dice-app.night .board-side-actions .board-tool.break-btn,.poetry-dice-app.night .canvas-mode-panel{border-color:var(--line);background:color-mix(in srgb, var(--paper-soft) 82%, transparent);color:var(--ink-muted);box-shadow:none}.poetry-dice-app.night .hint{background:color-mix(in srgb, var(--blue-soft) 70%, var(--paper))}.poetry-dice-app.night .hint svg,.poetry-dice-app.night .new-pack,.poetry-dice-app.night .icon-button,.poetry-dice-app.night .ghost-icon{color:var(--blue)}.poetry-dice-app.night .icon-button,.poetry-dice-app.night .ghost-icon{border-color:var(--line);background:color-mix(in srgb, var(--paper-soft) 78%, transparent)}.poetry-dice-app.night .new-pack:hover,.poetry-dice-app.night .surprise-action:hover,.poetry-dice-app.night .board-side-actions .board-tool:hover,.poetry-dice-app.night .board-side-actions .board-tool:focus-visible,.poetry-dice-app.night .icon-button:hover,.poetry-dice-app.night .ghost-icon:hover{border-color:var(--line-strong);background:color-mix(in srgb, var(--paper-soft) 94%, var(--blue-soft));color:var(--ink)}.poetry-dice-app.night .board-side-actions .board-tool:disabled,.poetry-dice-app.night .board-side-actions .board-tool.break-btn:disabled{border-color:color-mix(in srgb, var(--line) 76%, transparent);background:color-mix(in srgb, var(--paper) 72%, transparent);color:var(--ink-faint);opacity:.58}.poetry-dice-app.night .canvas-mode-panel button{color:var(--ink-faint);background:0 0}.poetry-dice-app.night .canvas-mode-panel button.active{background:var(--blue-soft);color:var(--ink)}.poetry-dice-app.night .mode-button span{color:var(--ink-faint)}.poetry-dice-app.night .mode-button.active span{color:var(--ink-muted)}.gallery-modal{width:min(94vw,980px);max-width:980px}.gallery-content{grid-template-rows:auto auto minmax(0,1fr);gap:14px;height:min(86dvh,820px);max-height:min(86dvh,820px);padding:22px;overflow:hidden}.gallery-toolbar{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--paper-soft) 82%, transparent);grid-auto-flow:column;gap:2px;width:max-content;padding:3px;display:inline-grid}.gallery-toolbar button{min-height:30px;color:var(--ink-muted);background:0 0;border:0;border-radius:6px;padding:0 12px;font-size:12px}.gallery-toolbar button.active{background:var(--blue);color:#fff;box-shadow:0 4px 10px color-mix(in srgb, var(--blue) 18%, transparent);border:0}.gallery-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;align-items:start;gap:14px;min-height:0;padding:2px 6px 8px 2px;display:grid;overflow-y:auto}.gallery-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--paper) 92%, transparent);grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;min-width:0;padding:11px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 22px #19375b0e}.gallery-card:not(.is-expanded):hover{border-color:color-mix(in srgb, var(--gallery-accent) 36%, var(--line));box-shadow:0 12px 28px #19375b17}.gallery-card.is-expanded{border-color:color-mix(in srgb, var(--gallery-accent) 40%, var(--line));background:var(--paper);box-shadow:var(--soft-shadow);grid-column:1/-1}.gallery-card-main{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;grid-template-columns:82px minmax(0,1fr) 24px;align-items:center;gap:13px;padding:0;display:grid}.gallery-card-thumb{aspect-ratio:3/4;border:1px solid color-mix(in srgb, var(--gallery-accent) 30%, var(--line));background:var(--paper-soft);width:82px;height:auto;box-shadow:0 7px 16px color-mix(in srgb, var(--gallery-accent) 12%, transparent);border-radius:6px;padding:0;display:block;position:relative;overflow:hidden}.gallery-card-thumb canvas,.gallery-poem-preview{width:100%;height:100%;display:block}.gallery-card-thumb>span{color:var(--gallery-ink);font-family:var(--font-serif);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffc7;border-radius:999px;padding:2px 5px;font-size:8px;line-height:1.2;position:absolute;bottom:5px;right:5px}.gallery-card-copy{gap:4px}.gallery-card-copy strong{font-size:15px}.gallery-card-copy span{font-size:14px}.gallery-card-copy small{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.gallery-expand-cue{justify-self:center;font-size:22px}.gallery-card-detail{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:minmax(250px,320px) minmax(240px,1fr);align-items:stretch;gap:24px;margin-top:12px;padding:18px 6px 4px;display:grid}.gallery-preview-frame{aspect-ratio:3/4;border:1px solid color-mix(in srgb, var(--gallery-accent) 28%, var(--line));border-radius:var(--radius-sm);background:var(--paper-soft);width:min(100%,320px);box-shadow:0 14px 30px color-mix(in srgb, var(--gallery-accent) 14%, transparent);justify-self:center;overflow:hidden}.gallery-poem-preview{background:0 0;border:0;border-radius:0;min-height:0;padding:0}.gallery-detail-side{flex-direction:column;justify-content:space-between;gap:24px;min-width:0;padding:8px 4px 2px;display:flex}.gallery-detail-meta{align-content:start;gap:8px;display:grid}.gallery-detail-meta small{color:var(--ink-faint);font-size:11px}.gallery-detail-meta strong{color:var(--ink);font-family:var(--font-serif);font-size:22px;font-weight:600;line-height:1.45}.gallery-detail-meta span{color:var(--ink-muted);font-family:var(--font-serif);font-size:12px}.gallery-card-detail .gallery-card-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-content:end;gap:8px;display:grid}.gallery-card-detail .gallery-card-actions button{border-radius:var(--radius-sm);min-height:40px;padding:0 8px}.gallery-card-detail .gallery-card-actions .gallery-restore{grid-column:1/-1}.poetry-dice-app.night .gallery-toolbar{border-color:var(--line);background:color-mix(in srgb, var(--paper-soft) 72%, transparent)}.poetry-dice-app.night .gallery-card{background:color-mix(in srgb, var(--paper) 94%, transparent)}.poetry-dice-app.night .gallery-card.is-expanded{background:var(--paper)}.poetry-dice-app.night .gallery-card-copy strong{color:var(--ink)}@media (width>=721px) and (width<=980px){.gallery-modal{border:1px solid var(--line);border-radius:var(--radius-lg);width:min(100vw - 32px,900px);max-width:900px;height:auto;max-height:92dvh}.gallery-content{width:100%;height:min(84dvh,780px);max-height:min(84dvh,780px);padding:22px}.gallery-card-detail{grid-template-columns:minmax(220px,240px) minmax(220px,1fr)}.gallery-preview-frame{width:min(100%,240px)}}@media (width<=720px){.gallery-content{gap:12px}.gallery-toolbar{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;width:100%}.gallery-toolbar button{min-width:0;padding:0 5px}.gallery-list{grid-template-columns:minmax(0,1fr);gap:10px;padding-right:2px}.gallery-card-main{grid-template-columns:70px minmax(0,1fr) 20px;gap:11px}.gallery-card-thumb{width:70px}.gallery-card-detail{grid-template-columns:minmax(0,1fr);gap:18px;padding:16px 2px 3px}.gallery-preview-frame{width:min(100%,280px)}.gallery-detail-side{gap:18px;padding:0 2px}.gallery-detail-meta strong{font-size:19px}}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{min-height:100%}body{margin:0}
