/* Preserve the original paper palette. Reduce chrome and disclose controls on demand. */
.mobile-menu{display:none}
.secondary-menu-button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;border:0;background:none;color:var(--muted);text-align:left;padding:10px;font:inherit;font-size:12px;border-radius:8px}
.secondary-menu-button:hover,.menu-row:hover{background:var(--surface-soft);color:var(--ink)}
.secondary-links{display:grid;gap:4px}
.menu-row{display:flex;align-items:center;gap:14px;padding:12px;min-height:48px;background:none;border:0;color:var(--ink);text-align:left;font:inherit;border-radius:8px}
.menu-row .icon:last-child{margin-left:auto;color:var(--muted);width:14px}
.sidebar .admin-nav .nav-item{min-height:44px}
.sidebar-foot{padding-top:12px}
.site-footer{font-variant-numeric:tabular-nums}
.daily-copy h2{font-size:22px;margin:0}
.daily-copy time{font-size:12px;color:var(--muted)}
.daily-feature{margin-bottom:42px}
.daily-copy{justify-content:flex-start;gap:18px}
.daily-actions{margin-top:auto}
.home-popular{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.home-popular .dashboard-poem .poem-strip{height:320px;min-height:320px}
.personal-stats{margin:0 0 32px}
.metric-link{border:0;border-right:1px solid var(--line);background:none;text-align:left;padding:16px 22px;color:var(--ink);font:inherit}
.metric-link:last-child{border-right:0}
.metric-link span{display:block;color:var(--muted);font-size:11px}
.metric-link strong{display:block;font-size:28px;font-weight:500;font-variant-numeric:tabular-nums;margin-top:6px}
.own-poems-tools{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}
.own-poems-tools>.field{max-width:280px;width:100%;margin:0}
.own-poem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.own-poem-card{min-width:0;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column}
.own-poem-card header,.own-poem-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}
.own-poem-card header .badge{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.own-poem-card footer{min-height:52px;font-size:12px;color:var(--muted)}
.own-poem-card footer>span{display:flex;align-items:center;gap:6px}
.own-poem-open{border:0;background:var(--surface-soft);padding:20px 12px;margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:16px;flex:1;width:100%}
.own-poem-open .poem-strip{width:125px;height:350px;min-height:350px;position:relative;left:auto;top:auto;transform:none}
.own-poem-open .poem-text{max-height:290px;overflow-wrap:anywhere}
.photo-composer{display:grid;gap:14px;margin:18px 0}
#photo-preview img{max-height:220px;max-width:100%;object-fit:contain;border-radius:8px}
.photo-composer input[type=file]{width:100%;padding:12px}
.post-photo-button{padding:0;border:0;background:none;margin:15px 0 0;display:block;width:100%}
.post-photo-button[hidden]{display:none}
.post-photo{display:block;width:100%;max-height:350px;object-fit:contain;border-radius:8px;background:var(--surface-soft)}
.post-photo-button+.post-poem{margin-top:10px}
.post-photo-button:not([hidden])+.post-poem{min-height:330px}
.post-photo-button:not([hidden])+.post-poem .poem-strip{min-height:285px;width:105px}
.post-photo-button:not([hidden])+.post-poem .poem-text{min-height:235px;height:235px}
.detail-photo{display:block;width:100%;max-height:460px;object-fit:contain;border-radius:8px;margin-bottom:25px}
.supporter-badge{font-size:16px;flex-shrink:0}
.selection-section{padding-bottom:28px}
.selection-tray.selection-tray-top{position:static;display:block;left:auto;right:auto;bottom:auto;margin:0 0 30px;padding:15px 18px;border:1px solid var(--line);border-radius:10px;box-shadow:none;background:var(--surface);max-width:none;z-index:auto}
.tray-top-line{display:flex;align-items:flex-start;gap:18px}
.tray-disclosure{flex:1;min-width:0}
.tray-disclosure summary{display:flex;align-items:center;gap:16px;min-height:44px;list-style:none;cursor:pointer;flex-wrap:wrap;font-size:12px}
.tray-disclosure summary::-webkit-details-marker{display:none}
.tray-disclosure summary>.icon{width:14px;transition:transform .2s}
.tray-disclosure[open] summary>.icon{transform:rotate(90deg)}
.tray-quota b{font-variant-numeric:tabular-nums;margin-left:6px}
.tray-quota.toku{color:var(--rust)}
.tray-quota.jo,.tray-quota.nami{color:var(--moss)}
.selection-tray-top .tray-poems{display:flex;margin:12px 0 6px;max-height:150px;overflow:auto;flex-wrap:wrap;gap:8px}
.selection-tray-top .save-status{display:block;font-size:10px;margin-top:3px}
.vote-card{position:relative;min-width:0;outline-offset:6px;border-radius:8px}
.vote-open{width:100%;border:0;background:none;padding:0;color:inherit;display:block}
.selection-grid .vote-open .poem-strip{height:410px;min-height:410px;left:auto;top:auto;transform:none;transform-origin:50% 0;transition:transform .22s ease;box-shadow:0 6px 18px #00000007}
.selection-grid .vote-open .poem-text{max-height:290px;overflow-wrap:anywhere}
.vote-card.is-selected .poem-strip{border-top-color:var(--moss);background:color-mix(in srgb,var(--surface) 92%,var(--moss))}
.vote-card.is-own{opacity:.55}
.vote-inline-controls{position:absolute;left:0;right:0;bottom:10px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.vote-card:focus-within:not(.is-own) .vote-inline-controls,.vote-card.is-expanded .vote-inline-controls{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.vote-card:focus-within:not(.is-own) .poem-strip,.vote-card.is-expanded .poem-strip{transform:scale(.54)}
.vote-level-row{display:flex;gap:5px;margin-bottom:10px;flex-wrap:wrap}
.vote-level{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;min-height:44px;flex:1;padding:6px;font:inherit;font-size:12px;white-space:nowrap}
.vote-level.active{color:var(--paper);background:var(--moss);border-color:var(--moss)}
.vote-level.active[data-inline-level=toku]{background:var(--rust);border-color:var(--rust)}
.vote-level.remove-vote{flex:0 0 44px;padding:8px}
.vote-inline-controls .field{font-size:11px;margin:0;gap:5px}
.vote-inline-controls textarea{padding:10px;resize:none;min-height:72px;font-size:13px}
.vote-inline-controls textarea:disabled{background:var(--surface-soft);opacity:.7}
.featured-candidates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-height:560px;overflow:auto;padding:12px 5px 22px;margin-bottom:26px}
.featured-candidate{position:relative;background:none;border:0;padding:0;color:inherit;min-width:0}
.featured-candidate[hidden]{display:none}
.featured-candidate>.icon{position:absolute;right:7px;bottom:12px;display:none;color:var(--moss)}
.featured-candidate.selected>.icon{display:block}
.featured-candidate.selected .poem-strip{border-color:var(--moss);box-shadow:0 0 0 2px var(--moss)}
.featured-candidate .poem-strip{left:auto;top:auto;width:100%;height:260px;min-height:260px;padding:16px 10px;transform:none}
.featured-candidate .poem-text{font-size:17px;max-height:190px;overflow-wrap:anywhere;letter-spacing:.03em}
.editorial-preview{border-left:1px solid var(--line);padding:20px 28px;align-self:start;position:sticky;top:100px;text-align:center}
.editorial-preview .poem-strip{left:auto;top:auto;transform:none;width:140px;height:390px;min-height:390px;margin:26px auto}
.editorial-preview .poem-text{max-height:320px;overflow-wrap:anywhere}
.featured-fields.source-posts{display:none}
.admin-user-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:430px;overflow:auto;margin:22px 0}
.admin-user-candidate{display:flex;align-items:center;gap:14px;min-width:0;border:1px solid var(--line);background:var(--surface);text-align:left;color:var(--ink);padding:15px;border-radius:9px;font:inherit}
.admin-user-candidate[hidden]{display:none}
.admin-user-candidate>span:nth-child(2){min-width:0;flex:1}
.admin-user-candidate small{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-user-candidate>.icon{opacity:0}
.admin-user-candidate.selected{border-color:var(--moss);background:var(--moss-wash)}
.admin-user-candidate.selected>.icon{opacity:1;color:var(--moss)}
.user-id{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.support-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:10px 0 32px;border-bottom:1px solid var(--line)}
.donation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:28px 0}
.donation-card{padding:28px 20px;text-align:center;background:var(--surface-soft);border-radius:12px}
.donation-icon{width:68px;height:68px;display:grid;place-items:center;font-size:34px;border:1px solid var(--line);border-radius:50%;margin:0 auto 18px;background:var(--surface)}
.donation-card h3{margin:0 0 12px;font-size:22px}
.donation-card strong{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.support-admin{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:start}
.donation-settings-row{display:grid;grid-template-columns:1fr 1.2fr .6fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}
.donation-settings-row .field{margin:0}
.release-list article{padding:28px 0;border-bottom:1px solid var(--line)}
.release-list li{margin:12px 0;font-size:14px;line-height:1.8}
.projection-body{margin:0;background:var(--paper)}
.projection-window{width:min(1180px,100%);max-width:none;padding:35px clamp(22px,5vw,60px);margin:auto;min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.projection-window>header{display:flex;align-items:center;gap:18px;padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.projection-window header h1{margin:4px 0;font-size:clamp(25px,3vw,42px)}
.projection-window header p{margin:0;color:var(--muted)}
.projection-window header>.btn{margin-left:auto}
.projection-window .projection-content{width:100%;gap:55px}
.projection-window .projection-qr{min-width:0}
.projection-window #qr-image>svg{width:min(310px,100%);height:auto;background:white}
.projection-window .join-code{font-size:clamp(28px,4vw,48px);letter-spacing:.15em}
.projection-window .timer-digits{font-size:clamp(60px,10vw,132px);font-weight:400;font-variant-numeric:tabular-nums;line-height:1.2}
.projection-window .projection-timer{min-width:0}
.projection-window #timer-custom{margin:22px 0}
.projection-window #timer-custom .field{max-width:160px;margin:0}
.projection-window .progress{margin:25px 0}

@media(hover:hover) and (pointer:fine){.vote-card:hover:not(.is-own) .vote-inline-controls{opacity:1;visibility:visible;pointer-events:auto;transform:none}.vote-card:hover:not(.is-own) .poem-strip{transform:scale(.54)}}
@media(max-width:1100px){.sidebar .secondary-menu-button{justify-content:center;padding:10px 4px}.sidebar .secondary-menu-button span{display:none}.own-poem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.editorial-layout{grid-template-columns:1fr .8fr}.featured-candidates{grid-template-columns:repeat(2,minmax(0,1fr))}.support-admin{grid-template-columns:1fr}}
@media(max-width:700px){.mobile-menu{display:flex}.topbar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{gap:8px}.bottom-nav{grid-template-columns:repeat(4,1fr)}.bottom-nav .nav-item{padding:8px 4px;font-size:10px}.home-popular{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.home-popular .dashboard-poem .poem-strip{height:290px;min-height:290px}.personal-stats .metric-link{padding:15px}.own-poems-tools{display:block}.own-poems-tools .field{max-width:none;margin-top:18px}.own-poem-grid{gap:18px}.own-poem-card header{flex-wrap:wrap}.own-poem-card header .badge{max-width:100%;font-size:10px}.own-poem-open .poem-strip{width:100%;height:350px;min-height:350px}.own-poem-open{padding:18px 8px}.own-poem-card footer .text-link{font-size:11px}.selection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.selection-tray.selection-tray-top{padding:12px;margin-bottom:24px}.tray-top-line{display:block}.tray-top-line>.btn{margin-top:10px;width:100%;font-size:12px}.tray-disclosure summary{gap:10px;font-size:11px}.tray-disclosure summary>strong{width:100%;font-size:12px}.selection-tray-top .tray-poems{display:flex}.selection-grid .vote-open .poem-strip{height:400px;min-height:400px}.vote-inline-controls{padding:9px;bottom:8px}.vote-level{font-size:11px;min-width:44px}.vote-level-row{gap:4px}.vote-inline-controls textarea{font-size:16px}.editorial-layout{display:flex;flex-direction:column-reverse;gap:24px}.editorial-preview{position:static;align-self:stretch;border:0;padding:0}.editorial-preview .poem-strip{height:300px;min-height:300px;width:125px;margin:18px auto}.editorial-preview .poem-text{max-height:240px}.featured-candidates{grid-template-columns:repeat(3,minmax(0,1fr));max-height:340px}.featured-candidate .poem-strip{min-height:245px;height:245px}.featured-candidate .poem-text{font-size:16px;max-height:180px}.admin-user-candidates{grid-template-columns:1fr}.donation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.donation-card{padding:22px 12px}.support-intro{align-items:flex-start;flex-direction:column;gap:10px}.donation-settings-row{gap:8px;font-size:12px}.donation-settings-row input{min-width:0;padding:10px;font-size:16px}.projection-window{padding:25px 22px;justify-content:flex-start}.projection-window .projection-content{grid-template-columns:1fr;gap:35px}.projection-window .projection-qr{text-align:center}.projection-window #qr-image>svg{width:230px}.projection-window .timer-digits{font-size:90px}.projection-window .projection-timer{width:100%}.projection-window>header{margin-bottom:20px;padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.vote-inline-controls,.selection-grid .vote-open .poem-strip,.tray-disclosure summary>.icon{transition:none}}
@media print{.selection-tray-top,.vote-inline-controls,.secondary-menu-button{display:none!important}}

@media(max-width:700px){.field input,.field select,.field textarea{font-size:16px}}

.vote-inline-controls textarea{margin-top:0}.vote-detail{position:absolute;top:8px;right:5px;opacity:0;visibility:hidden}.vote-card:focus-within .vote-detail,.vote-card.is-expanded .vote-detail{opacity:1;visibility:visible}@media(hover:hover) and (pointer:fine){.vote-card:hover .vote-detail{opacity:1;visibility:visible}}@media(max-width:700px){.vote-card.is-expanded .poem-strip,.vote-card:focus-within:not(.is-own) .poem-strip{transform:scale(.5)}}

.my-popular>summary{cursor:pointer;font:22px var(--font-serif);min-height:44px;list-style-position:inside}.my-popular .dashboard-poems{margin-top:25px}

.photo-coming-soon{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0;padding:16px;background:var(--surface-soft);border:1px dashed var(--line-strong);border-radius:8px;color:var(--muted)}.photo-coming-soon .badge{display:inline-flex;align-items:center;gap:6px;font-size:11px}
