.room-main{max-width:1250px;margin:0 auto;padding:50px 24px 80px;min-height:75vh}.room-lead{font-size:16px;color:#727272}.room-note{font-size:12px;line-height:1.8;color:#838383;max-width:640px}.room-primary{display:inline-flex;align-items:center;justify-content:center;background:#707070;color:#fff;border:0;text-decoration:none;padding:11px 20px;border-radius:3px;font:inherit}.room-actions,.room-account{display:flex;align-items:center;gap:20px;margin:24px 0;flex-wrap:wrap}.room-account{font-size:12px;color:#757575;justify-content:space-between;border-bottom:1px solid #dedede;padding-bottom:14px}.room-account span{overflow-wrap:anywhere}.room-main .grid{margin-top:35px;grid-template-columns:repeat(4,minmax(0,1fr))}.room-main .work{background:#efefef;padding:10px}.room-main .work figcaption{font-size:12px;opacity:1;color:#666666}.room-main .work small{display:block;color:#999999;margin-top:5px}.room-main .work img{object-fit:contain}.room-main #room-status{font-size:13px;color:#7f7f7f;min-height:24px}#room-empty{padding:50px 0;color:#7f7f7f;font-size:14px}#room-more{display:block;margin:35px auto}#upload-dialog{max-width:540px}#upload-form label{display:block;margin-top:18px;font-size:13px}#upload-form input{display:block;width:100%;border:1px solid #d5d5d5;background:white;padding:12px;font:inherit;margin:8px 0;color:#494949}#upload-preview{max-width:100%;max-height:280px;object-fit:contain;margin:12px auto;display:block}#upload-status{font-size:13px;min-height:22px}#room-work-title{font-size:17px;overflow-wrap:anywhere}#room-viewer .room-actions{justify-content:center;margin:10px 0}.flower-room-save{margin:18px 0;padding:16px 0;border-top:1px solid #dadada}.flower-room-save label{display:block;font-size:12px;color:#797979;margin-bottom:7px}.flower-room-save input{width:100%;padding:10px;border:1px solid #d2d2d2;background:#fff;font:inherit;color:#4c4c4c;margin:0 0 10px}.flower-room-save button{width:100%;padding:13px;background:#727272;color:#fff;border:0;cursor:pointer;font:inherit}.flower-room-save button:disabled{opacity:.5;cursor:wait}.flower-room-save p{font-size:12px;color:#828282;margin:8px 0}.flower-room-save a{font-size:12px;color:#6a6a6a;text-underline-offset:3px}.flower-room-notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#f8f8f8;color:#555555;border:1px solid #d8d8d8;padding:14px 20px;z-index:30;max-width:90vw;font-size:13px;box-shadow:0 5px 25px #0001}.flower-room-notice button{margin-left:12px;border:0;background:transparent;cursor:pointer}@media(max-width:700px){.room-main{padding:30px 20px 65px}.room-main .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.room-main .work{padding:7px}.room-actions{gap:12px}.room-actions>*{font-size:13px}.room-account{align-items:flex-start}#room-viewer .viewer-image{height:calc(85dvh - 180px)}}

.room-privacy{display:block;margin:24px 0;padding:16px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;max-width:640px;color:#666;font-size:12px;line-height:1.8}.room-privacy strong{font-size:13px;font-weight:500;color:#444}.room-privacy p,.flower-room-save .room-privacy p{font-size:12px;line-height:1.8;color:#666;margin:6px 0 0}.flower-room-save .room-privacy{margin:12px 0 16px;padding:12px 0}#upload-dialog .room-privacy{margin:16px 0}

.room-consent{display:flex!important;align-items:flex-start;gap:8px;font-size:12px!important;line-height:1.7;margin:12px 0!important;color:#555}.room-consent input,#upload-form .room-consent input{width:auto;flex:none;margin:4px 0 0;accent-color:#555}

.room-edit-reminder{margin:24px 0 32px;padding:20px 0;border-block:1px solid #dedede}.room-edit-reminder strong{display:block;font-size:20px;color:#333}.room-edit-reminder p{line-height:1.8;margin:8px 0}.room-updates{margin:28px 0 40px;padding:24px;background:#f5f5f5;border-radius:6px}.room-updates h2{font-size:19px}.room-updates p{line-height:1.8}.room-updates form>label{display:block}.room-updates input[type=email]{display:block;width:100%;box-sizing:border-box;padding:12px;margin:8px 0 16px;border:1px solid #aaa;background:white;color:#333;font-size:16px}.room-updates button{min-height:48px;padding:12px 20px;border:1px solid #777;background:#fff;color:#333;font-size:16px;cursor:pointer}.room-updates button:disabled{opacity:.5;cursor:wait}.room-updates #updates-cancel{border:1px solid #555;text-decoration:underline;text-underline-offset:4px}.room-updates input[type=checkbox]{accent-color:#555}

.room-main .work.is-starred{grid-column:span 2;grid-row:span 2;align-self:start}.room-main .work .room-star{display:flex;align-items:center;justify-content:center;min-height:44px;width:auto;padding:8px 12px;margin:8px 0 0;border:0;background:transparent;color:#777;font-size:13px;cursor:pointer}.room-main .work .room-star[aria-pressed=true]{color:#333}.room-main .work .room-star:disabled{opacity:.5}.room-main .work .room-star:focus-visible{outline:2px solid #777;outline-offset:2px}.room-main .grid{grid-auto-flow:row dense;align-items:start}@media(max-width:700px){.room-main .work.is-starred{grid-row:span 1}}

.room-theme{display:flex;align-items:center;gap:8px;margin:16px 0 24px;font-size:12px}.room-theme>span{margin-right:6px;color:#777}.room-theme button{min-height:44px;min-width:60px;padding:8px 14px;font-size:13px}.room-theme button[aria-pressed=true]{background:#555;color:#fff;border-color:#555}html[data-room-theme=dark] body{background:#252525;color:#e2e2e2}html[data-room-theme=dark] body>header{background:#fff;color:#393939}html[data-room-theme=dark] .room-main .work{background:#303030}html[data-room-theme=dark] .room-main .work figcaption,html[data-room-theme=dark] .room-main .room-star{color:#ccc}html[data-room-theme=dark] .room-main .room-star[aria-pressed=true]{color:#fff}html[data-room-theme=dark] .room-note,html[data-room-theme=dark] .room-lead,html[data-room-theme=dark] .room-account,html[data-room-theme=dark] .room-privacy,html[data-room-theme=dark] .room-privacy p,html[data-room-theme=dark] .room-theme>span,html[data-room-theme=dark] #room-status,html[data-room-theme=dark] #room-empty{color:#bcbcbc}html[data-room-theme=dark] .room-privacy strong,html[data-room-theme=dark] .room-edit-reminder strong{color:#eee}html[data-room-theme=dark] .room-privacy,html[data-room-theme=dark] .room-account,html[data-room-theme=dark] .room-edit-reminder{border-color:#555}html[data-room-theme=dark] .room-updates{background:#303030}html[data-room-theme=dark] .room-updates .room-consent{color:#ccc}html[data-room-theme=dark] .room-theme button[aria-pressed=true]{background:#ddd;color:#222;border-color:#ddd}html[data-room-theme=dark] #room-viewer{background:#2c2c2c;color:#eee}html[data-room-theme=dark] #room-viewer h2{color:#eee}
html[data-room-theme=dark] #upload-dialog{background:#2c2c2c;color:#eee}html[data-room-theme=dark] #upload-dialog .room-consent{color:#ccc}

.room-title-row{display:flex;align-items:center;gap:18px;min-height:84px}.room-title-row h1{flex:none}.room-title-row #room-signature-flower{width:82px;height:82px;object-fit:contain}.room-main #room-decor-open{min-height:44px;font-size:13px;margin:4px 0 14px}#room-decor-dialog{max-width:560px;padding:24px}#room-decor-dialog h3{font-weight:500;font-size:15px;margin:24px 0 8px}#room-decor-dialog .room-theme{margin-top:24px}#room-decor-dialog .room-flower-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#room-decor-dialog .room-flower-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;padding:10px 4px;font-size:12px;border:1px solid #ccc}#room-decor-dialog .room-flower-options img{width:66px;height:66px;object-fit:contain}#room-decor-dialog .room-flower-options button[aria-pressed=true]{border:2px solid #555;background:#e7e7e7}#room-decor-done{width:100%;min-height:44px;background:#555;color:#fff}#room-decor-dialog #room-decor-status{font-size:12px;min-height:20px}html[data-room-theme=dark] #room-decor-dialog{background:#303030;color:#eee}html[data-room-theme=dark] #room-decor-dialog .room-flower-options button[aria-pressed=true]{border-color:#ddd;background:#484848}@media(max-width:400px){.room-title-row #room-signature-flower{width:68px;height:68px}#room-decor-dialog{padding:18px}}

html[data-room-theme] body{background:var(--room-background,#f5f5f5)}#room-decor-dialog .room-theme{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}#room-decor-dialog .room-theme>span{grid-column:1/-1;margin:0 0 4px}#room-decor-dialog .room-theme button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:8px 5px;background:transparent;color:inherit;font-size:12px}#room-decor-dialog .room-theme button[aria-pressed=true]{outline:2px solid currentColor;outline-offset:-3px;font-weight:600}.room-color-chip{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid #8886;flex:none}@media(max-width:380px){#room-decor-dialog .room-theme{grid-template-columns:repeat(3,minmax(0,1fr))}}

html[data-room-theme] #room-decor-dialog{background:var(--room-background,#f5f5f5)}#room-decor-dialog .room-theme{display:flex;flex-wrap:wrap;gap:8px}#room-decor-dialog .room-theme>span{flex:0 0 100%}#room-decor-dialog .room-theme button{width:44px;height:44px;min-width:44px;min-height:44px;padding:5px;border:0;border-radius:50%;outline:none;background:transparent}#room-decor-dialog .room-theme button[aria-pressed=true]{outline:1px solid currentColor;outline-offset:-1px}#room-decor-dialog .room-theme button:focus-visible{outline:2px solid currentColor;outline-offset:3px}#room-decor-dialog .room-color-chip{width:32px;height:32px;border:1px solid #8888}

.room-main{padding-top:28px}.room-title-row{gap:14px;min-height:72px}.room-main .room-title-row #room-decor-open{margin:0 0 0 auto;white-space:nowrap;flex:none}.room-lead{margin:10px 0 16px}.room-intro>.room-privacy{margin:16px 0;padding:12px 0}.room-account{margin:14px 0;padding-bottom:10px}.room-main .grid{margin-top:20px}.room-upload-note{margin-top:-10px}.room-main #room-status:empty{display:none}@media(max-width:700px){.room-main{padding-top:22px}.room-title-row{gap:8px;min-height:60px}.room-title-row h1{font-size:22px;letter-spacing:.02em}.room-title-row #room-signature-flower{width:40px;height:48px}.room-main .room-title-row #room-decor-open{font-size:12px;padding:8px 10px}.room-lead{font-size:14px;line-height:1.8}}

.room-main .room-lead{font-size:22px;line-height:1.8;margin:16px 0 20px;letter-spacing:.025em}.room-intro>.room-privacy{max-width:none;border-top:0;border-bottom:1px solid #7775;padding:8px 0 22px;margin:14px 0 24px}.room-intro>.room-privacy p{max-width:740px}.room-title-row h1{min-width:0;flex:0 1 auto;overflow-wrap:anywhere}.room-title-row #room-signature-flower{flex:none}html[data-room-theme=dark] .room-intro>.room-privacy{border-bottom-color:#ccc5}@media(max-width:700px){.room-main .room-lead{font-size:20px;line-height:1.8;margin:12px 0 18px}.room-title-row h1{font-size:21px;line-height:1.4}.room-intro>.room-privacy{padding-bottom:20px;margin-bottom:20px}}

.room-main{padding-top:0}.room-intro{padding-top:28px;margin-bottom:24px;background:var(--room-intro-background,#e1e1e1);box-shadow:0 0 0 100vmax var(--room-intro-background,#e1e1e1);clip-path:inset(0 -100vmax)}.room-intro>.eyebrow{margin-top:0;padding-top:10px}.room-intro>.room-privacy{margin-bottom:0;padding-bottom:24px}.room-main>#room-guest{padding-top:4px}@media(max-width:700px){.room-main{padding-top:0}.room-intro{padding-top:22px;margin-bottom:20px}.room-intro>.room-privacy{padding-bottom:20px}}

#room-decor-dialog .room-name-label{display:block;font-size:13px;margin:22px 0 8px}#room-custom-name{display:block;width:100%;box-sizing:border-box;min-height:44px;border:1px solid #8888;border-radius:3px;background:#ffffff80;color:inherit;padding:10px 12px;font:inherit;font-size:16px}#room-custom-name:focus-visible{outline:2px solid #888;outline-offset:2px}#room-name-help{margin:6px 0 16px}html[data-room-theme=dark] #room-custom-name{background:#ffffff0c;color:#eee}html[data-room-theme=dark] #room-custom-name::placeholder{color:#aaa}

.room-name-display{display:flex;align-items:center;gap:12px;margin:20px 0 8px;min-height:44px}.room-name-display>span{font-size:16px;overflow-wrap:anywhere;min-width:0}.room-name-display #room-name-edit{flex:none;font-size:12px;min-height:44px;padding:8px 10px;border:0;text-decoration:underline;text-underline-offset:4px;opacity:.75}.room-name-actions{display:flex;gap:8px;margin:10px 0 18px}.room-name-actions button{font-size:12px;min-height:44px}#room-name-editor .room-name-label{margin-top:8px}
/* Engraved personal marks, with a quiet, explicit name-editing boundary. */
.room-name-display{border:1px solid #8887;border-radius:4px;padding:10px 14px;justify-content:space-between;background:#ffffff09}.room-name-display #room-name-edit{border:1px solid #8886;border-radius:3px;text-decoration:none;opacity:1;padding:8px 14px}.room-privacy-disclosure summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font-size:13px}.room-intro>.room-privacy-disclosure{padding:0 0 8px;margin:8px 0 18px}.room-privacy-disclosure[open] p{font-size:13px}#room-decor-dialog .room-flower-options{grid-template-columns:repeat(3,minmax(0,1fr));max-height:440px;overflow-y:auto;overscroll-behavior:contain;padding:4px}#room-decor-dialog .room-flower-options button{min-height:110px;background:transparent;border-color:#8884;border-radius:3px}#room-decor-dialog .room-flower-options img{width:72px;height:72px}html[data-room-theme=dark] #room-signature-flower,html[data-room-theme=dark] .room-flower-options img{filter:invert(1)}#room-decor-close{min-height:44px;min-width:44px}
.room-albums{margin:24px 0 32px;padding-bottom:26px;border-bottom:1px solid #8885}.album-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.album-heading h2{font-size:19px;font-weight:500}.album-heading h3{font-size:16px;overflow-wrap:anywhere}.album-heading button{font-size:12px;min-height:44px;flex:none}#album-tabs{display:flex;gap:8px;overflow-x:auto;padding:6px 0 12px}#album-tabs button{white-space:nowrap;min-height:44px;font-size:13px}#album-tabs button[aria-pressed=true]{border-color:currentColor;background:#8882}#album-book{padding:16px;border:1px solid #8885;background:#ffffff18;box-shadow:2px 3px 0 #8882,4px 6px 0 #8881}#album-pages{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:8px 0 16px;scrollbar-width:thin}#album-pages figure{flex:0 0 calc((100% - 16px)/2);margin:0;scroll-snap-align:start;min-width:0}#album-pages figure button{width:100%;display:block;padding:0;border:0;background:transparent}#album-pages img{width:100%;height:320px;object-fit:contain;display:block;background:#8881}#album-pages figcaption{font-size:12px;opacity:.65;padding-top:10px;overflow-wrap:anywhere}.album-navigation{display:flex;align-items:center;justify-content:center;gap:18px;font-size:12px}.album-navigation button{min-width:44px;min-height:44px}#album-dialog{width:min(720px,94vw);max-height:94dvh;box-sizing:border-box;padding:24px;overflow:auto;color:inherit;background:var(--room-background,#f5f5f5)}#album-dialog input[type=text],#album-name{display:block;width:100%;min-height:44px;box-sizing:border-box;font:inherit;font-size:16px;color:inherit;background:transparent;border:1px solid #8888;padding:10px;margin-top:8px}.album-filter{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px}#album-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:45dvh;overflow:auto;padding:4px}#album-picker label{position:relative;display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid #8885;cursor:pointer;font-size:12px;overflow-wrap:anywhere}#album-picker label:has(:checked){outline:2px solid #888}#album-picker input{width:20px;height:20px;accent-color:#777}#album-picker img{width:100%;height:130px;object-fit:contain}#album-save{width:100%;min-height:44px;margin-top:10px}#album-close{min-height:44px}#album-status:empty{display:none}@media(max-width:600px){#album-book{padding:12px}#album-pages figure{flex-basis:86%}#album-pages img{height:280px}#album-dialog{padding:18px}#album-picker{grid-template-columns:repeat(2,minmax(0,1fr))}#album-picker img{height:100px}}
/* Match the two-page paper construction and turning leaf of Hana's notebook. */
#album-book{max-width:820px;margin:18px auto 0;padding:0;border:0;background:transparent;box-shadow:none}.album-binding{position:relative;perspective:1500px;padding:5px 6px 9px;background:#757575;border-radius:2px 5px 5px 2px;box-shadow:0 2px 0 #bababa,0 4px 0 #dedede,0 6px 0 #888,0 17px 22px -18px #35353599}
#album-pages{display:grid;grid-template-columns:1fr 1fr;gap:0;touch-action:pan-y;background:#f1f1f1;overflow:visible;padding:0;scroll-snap-type:none}#album-pages figure,.album-end-page,.album-turning-leaf figure{position:relative;grid-column:auto;margin:0;min-width:0;padding:16px 15px 28px;background:linear-gradient(90deg,#f8f8f8,#f0f0f0 90%,#d9d9d9)}#album-pages figure:nth-child(2),.album-end-page{background:linear-gradient(90deg,#c8c8c8,#efefef 7%,#f8f8f8)}#album-pages figure button,.album-turning-leaf button{display:block;width:100%;padding:0;border:0;background:transparent;box-shadow:0 1px 3px #33333324}#album-pages img,.album-turning-leaf img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;max-height:none;transform:none;background:transparent}.album-folio{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-family:Georgia,serif;font-size:11px;color:#848484}.album-navigation{display:flex;gap:13px;align-items:center;justify-content:flex-end;margin:20px 0 0;color:#7a7a7a;font-size:12px}.album-hint{margin-right:auto}.album-navigation button{width:44px;height:44px;border:1px solid #d6d6d6;background:transparent;color:inherit;border-radius:2px}.album-navigation button:disabled{opacity:.4;cursor:default}.album-turning-leaf{position:absolute;z-index:2;top:5px;bottom:9px;left:50%;right:6px;transform-origin:left;transform-style:preserve-3d;pointer-events:none;transition:transform .8s cubic-bezier(.35,.05,.3,1)}.album-turning-leaf>*{height:100%;backface-visibility:hidden}.album-turning-leaf:after{content:'';position:absolute;inset:0;backface-visibility:hidden;background:linear-gradient(90deg,#d9d9d9,#f8f8f8);transform:rotateY(180deg)}.album-turning-leaf.turned{transform:rotateY(-180deg)}.album-turning-leaf.backwards{left:6px;right:50%;transform-origin:right}.album-turning-leaf.backwards.turned{transform:rotateY(180deg)}#album-pages .album-empty{grid-column:1/-1;padding:28px 20px;color:#777;font-size:13px;margin:0}html[data-room-theme=dark] .album-navigation{color:#bbb}@media(max-width:600px){#album-book{padding:0}.album-navigation{gap:9px}.album-folio{bottom:9px}}@media(prefers-reduced-motion:reduce){.album-turning-leaf{transition:none}}
/* A horizontal shelf of individually coloured cloth-bound albums. */
.room-albums>.album-section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.album-section-heading h2{margin:0 0 8px}.album-section-heading #album-new{margin:0 0 5px}
#album-tabs{gap:22px;padding:18px 12px 26px 4px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;align-items:stretch}
:is(#album-tabs button.album-cover,.album-cover-preview){position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;flex:0 0 150px;width:150px;min-height:202px;padding:22px 18px 20px 27px;margin:0 3px 4px 0;white-space:normal;text-align:left;border:1px solid #0002;border-radius:2px 6px 6px 2px;background:var(--cover-color);color:var(--cover-ink);box-shadow:3px 2px 0 #e5e2dc,5px 3px 0 #aaa7a0,7px 7px 10px #0002;scroll-snap-align:start;transition:transform .18s,box-shadow .18s}
:is(#album-tabs button.album-cover,.album-cover-preview)::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(90deg,#0003,transparent 5%,#fff2 7%,#0002 9%,transparent 12%),repeating-linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 3px)}
:is(#album-tabs button.album-cover,.album-cover-preview)::after{content:'';position:absolute;left:26px;right:18px;top:53px;border-top:1px solid currentColor;opacity:.3}
:is(#album-tabs button.album-cover,.album-cover-preview) strong{font-size:17px;font-weight:500;line-height:1.6;letter-spacing:.04em;overflow-wrap:anywhere;width:100%;margin:22px 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.album-cover-index,.album-cover-count{font-size:9px;letter-spacing:.13em;opacity:.8}
:is(#album-tabs button.album-cover,.album-cover-preview)[aria-pressed=true]{transform:translateY(-5px);outline:1px solid #999;outline-offset:5px;box-shadow:3px 2px 0 #e5e2dc,5px 3px 0 #aaa7a0,8px 12px 15px #0003}
:is(#album-tabs button.album-cover,.album-cover-preview):focus-visible{outline:2px solid currentColor;outline-offset:5px}.album-binding{background:var(--cover-color,#757575)}
.album-cover-field{border:0;padding:0;margin:22px 0}.album-cover-field legend{font-size:13px;margin-bottom:8px}#album-cover-colors{display:flex;flex-wrap:wrap;gap:6px}#album-cover-colors button{width:44px;height:44px;padding:6px;border:1px solid transparent;border-radius:50%;background:transparent;position:relative}#album-cover-colors button::before{content:'';display:block;width:30px;height:30px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #0002}#album-cover-colors button[aria-pressed=true]{border-color:currentColor}#album-cover-colors button:focus-visible{outline:2px solid #888;outline-offset:2px}@media(max-width:600px){#album-tabs{gap:18px}:is(#album-tabs button.album-cover,.album-cover-preview){flex-basis:136px;width:136px;min-height:184px;padding:18px 15px 18px 24px}:is(#album-tabs button.album-cover,.album-cover-preview) strong{font-size:16px}:is(#album-tabs button.album-cover,.album-cover-preview)::after{left:24px;right:15px;top:48px}}@media(prefers-reduced-motion:reduce){:is(#album-tabs button.album-cover,.album-cover-preview){transition:none}}
.album-navigation{justify-content:space-between;align-items:center;gap:16px}.album-navigation #album-edit{width:auto;white-space:nowrap;padding:8px 12px;font-size:12px;flex:none}.album-page-controls{display:flex;align-items:center;justify-content:flex-end;gap:13px;margin-left:auto}.album-page-controls .album-hint{margin:0;white-space:nowrap}.album-design-preview{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;align-items:center;margin:20px 8px 20px 0}.album-design-preview .album-cover-preview{box-sizing:border-box;min-width:0;align-self:start}.album-name-design{min-width:0}.album-name-design label{font-size:13px}.album-name-design .room-note{font-size:12px;margin-top:12px}.album-cover-preview strong{font-family:inherit}.album-cover-preview{font-family:Arial,"PingFang TC","Noto Sans TC",sans-serif}
@media(max-width:600px){.album-design-preview{grid-template-columns:136px minmax(0,1fr);gap:20px}.album-name-design #album-name{padding:10px 8px}.album-page-controls{display:grid;grid-template-columns:44px auto 44px;gap:8px}.album-page-controls .album-hint{grid-column:1/-1;text-align:right;font-size:11px}.album-navigation{gap:10px}.album-navigation #album-edit{padding:8px;font-size:12px}.album-design-preview .album-cover-preview{width:136px}}@media(max-width:350px){.album-design-preview{grid-template-columns:112px minmax(0,1fr);gap:16px}.album-design-preview .album-cover-preview{width:112px;min-height:166px;padding-left:20px;padding-right:12px}.album-design-preview .album-cover-preview strong{font-size:14px}}
@media(max-width:350px){.album-design-preview{grid-template-columns:136px minmax(0,1fr);gap:12px}.album-design-preview .album-cover-preview{min-height:184px}.album-name-design .room-note{line-height:1.7}}

.story-entry{padding:24px 0;margin:12px 0 28px;border-bottom:1px solid currentColor}.story-entry h2{font-size:24px;margin:8px 0}.story-entry p{line-height:1.8}.story-entry .room-primary{display:inline-block;margin:8px 0}

.story-entry{padding:12px 0 28px}.story-book-invitation{display:flex;align-items:center;gap:44px;padding:30px 36px;background:#f1f1f1;color:#383838;border:1px solid #d6d6d6;border-radius:8px;text-decoration:none!important;overflow:hidden}.story-book-invitation:focus-visible{outline:3px solid #666;outline-offset:4px}.story-mini-book{position:relative;flex:0 0 190px;background:#fafafa;padding:22px 14px 18px 24px;box-shadow:4px 1px 0 #ddd,7px 2px 0 #fff,9px 3px 0 #ccc,12px 9px 20px #0002;border:1px solid #c8c8c8;border-radius:2px 5px 5px 2px;transform:rotate(-4deg);transition:transform .2s}.story-mini-book:before{content:"";position:absolute;left:9px;top:0;bottom:0;border-left:1px solid #d4d4d4;box-shadow:-4px 0 7px #0001}.story-mini-book img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;margin:18px 0}.story-mini-book-title{display:block;font-size:17px;line-height:1.65;font-weight:500;letter-spacing:.08em}.story-mini-book-en{display:block;font-size:8px;letter-spacing:.1em;color:#777}.story-book-invitation:hover .story-mini-book{transform:rotate(-1deg) translateY(-3px)}.story-invitation-copy{min-width:0}.story-invitation-copy h2{font-size:27px;line-height:1.5;margin:6px 0 14px}.story-invitation-copy>.eyebrow{font-size:10px;letter-spacing:.13em;color:#777}.story-invitation-action{display:inline-flex;align-items:center;gap:26px;background:#444;color:#fff;border-radius:4px;padding:10px 18px;margin-top:8px}.story-invitation-copy .story-invitation-note{font-size:12px;color:#777;margin:16px 0 0}@media(max-width:600px){.story-book-invitation{gap:20px;padding:24px 18px;align-items:center}.story-mini-book{flex-basis:115px;padding:16px 8px 12px 17px}.story-mini-book-title{font-size:12px}.story-mini-book img{margin:12px 0}.story-mini-book-en{font-size:6px}.story-invitation-copy h2{font-size:20px}.story-invitation-copy>p{font-size:12px}.story-invitation-copy>.eyebrow{display:none}.story-invitation-action{padding:9px 12px;gap:12px;font-size:13px}.story-invitation-copy .story-invitation-note{font-size:11px}}@media(prefers-reduced-motion:reduce){.story-mini-book{transition:none}}

/* Theme-relative surfaces retain contrast in all eleven room palettes. */
:root{--room-tile:color-mix(in srgb,var(--room-background,#f5f5f5),black 6%);--room-tile-selected:color-mix(in srgb,var(--room-background,#f5f5f5),black 16%);--room-ink:#303030}
html[data-room-theme=dark]{--room-tile:color-mix(in srgb,var(--room-background),white 8%);--room-tile-selected:color-mix(in srgb,var(--room-background),white 22%);--room-ink:#f1f1f1}
#album-picker label,#room-featured-picker .room-featured-option{border:0;outline:none;border-radius:7px;background:var(--room-tile);color:var(--room-ink);box-shadow:none;padding:12px;transition:background .15s}
#album-picker label:has(:checked),#room-featured-picker .room-featured-option[aria-pressed=true]{background:var(--room-tile-selected);outline:none;box-shadow:none}
#album-picker label:focus-within,#room-featured-picker .room-featured-option:focus-visible{outline:2px solid var(--room-ink);outline-offset:2px}
#room-featured-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:38dvh;overflow:auto;padding:4px;margin-top:12px}
#room-featured-picker button{display:flex;flex-direction:column;gap:8px;text-align:left;font:inherit;font-size:12px;min-width:0;cursor:pointer;position:relative}
#room-featured-picker img{width:100%;height:110px;object-fit:contain}#room-featured-picker span{overflow-wrap:anywhere}
#room-featured-picker [aria-pressed=true]::after{content:'✓';position:absolute;top:8px;right:8px;border-radius:50%;background:var(--room-ink);color:var(--room-background);width:24px;height:24px;text-align:center;line-height:24px}
.room-featured-settings h3{font-size:15px;margin-top:24px}.room-featured-settings button{min-height:44px}
.room-intro{position:relative}.room-intro.has-featured{min-height:320px;padding-right:340px}.room-intro.has-featured .room-title-row{flex-wrap:wrap}.room-intro.has-featured #room-decor-open{margin-left:0}
#room-featured{position:absolute;right:0;top:28px;width:310px;height:290px;border:0;background:transparent;pointer-events:none}
#room-featured iframe,#room-featured>img{display:block;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;background:transparent;object-fit:contain}
#room-decor-dialog,.room-name-display{color:var(--room-ink)}.room-name-display{border:0;border-radius:7px;background:var(--room-tile)}
@media(max-width:700px){.room-intro.has-featured{padding-right:0;min-height:0}.room-intro.has-featured .room-title-row{padding-right:120px;min-height:110px;align-content:center}#room-featured{width:118px;height:150px;top:36px}.room-intro.has-featured .room-title-row h1{max-width:100%}#room-featured-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){#album-picker label,#room-featured-picker button{transition:none}}

/* Album actions are text buttons, separate from the square page arrows. */
.album-navigation{flex-wrap:wrap}
.album-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.album-navigation .album-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;height:auto;min-height:44px;flex:none;padding:8px 12px;font-size:12px;line-height:1.4;white-space:nowrap;word-break:keep-all}
.album-actions svg{flex:none;width:16px;height:16px}
.album-actions span{white-space:nowrap}
.album-page-controls{flex:0 0 auto}
@media(max-width:420px){.album-navigation{row-gap:12px}.album-navigation .album-actions button{padding:8px 10px}.album-page-controls{gap:6px}}

/* Cover textures share identical dimensions and typography. Legacy style IDs remain compatible. */
#album-cover-styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#album-cover-styles button{display:flex;align-items:center;flex-direction:column;gap:10px;min-width:0;padding:14px 6px;border:1px solid transparent;border-radius:8px;background:var(--room-panel,rgba(128,128,128,.09));color:inherit;white-space:normal;font-size:12px;line-height:1.5}
#album-cover-styles button[aria-pressed=true]{border-color:currentColor;background:rgba(128,128,128,.18)}
:is(#album-tabs button.album-cover,.album-cover-preview){box-sizing:border-box;flex:0 0 150px;width:150px;height:202px;min-height:202px;max-height:202px;padding:22px 18px 20px 27px;overflow:hidden}
:is(#album-tabs button.album-cover,.album-cover-preview) strong{flex:0 1 auto;min-height:0;margin:12px 0;font-size:17px;line-height:1.6;-webkit-line-clamp:3;overflow:hidden}
:is(#album-tabs button.album-cover,.album-cover-preview) :is(.album-cover-index,.album-cover-count){flex:none}
.album-style-mini{display:block;position:relative;isolation:isolate;width:56px;height:76px;box-sizing:border-box;background:var(--cover-color);color:var(--cover-ink);box-shadow:2px 2px 0 #bbb;border-radius:1px 3px 3px 1px;overflow:hidden}
.album-style-mini b{position:absolute;top:30px;left:13px;right:9px;height:1px;background:currentColor;box-shadow:0 5px currentColor;opacity:.8}
.album-style-mini i{display:none}
:is(#album-tabs button.album-cover,.album-cover-preview)::before,.album-style-mini::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0002,transparent 5%,#fff2 8%,#0001 10%,transparent 14%),var(--cover-texture);background-size:auto,var(--texture-size,auto);border-radius:inherit}
[data-cover-style=text],[data-layout=text]{--cover-texture:repeating-linear-gradient(0deg,#fff2 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#0002 0 1px,transparent 1px 3px)}
[data-cover-style=window],[data-layout=window]{--cover-texture:radial-gradient(ellipse at 22% 18%,#ffffff1c,transparent 70%),radial-gradient(#00000012 .5px,transparent .7px);--texture-size:auto,4px 4px}
[data-cover-style=gallery],[data-layout=gallery]{--cover-texture:radial-gradient(ellipse at 30% 35%,#ffffff15 0 15%,#00000015 28%,transparent 55%),radial-gradient(ellipse at 75% 70%,#00000018 0 20%,transparent 55%);--texture-size:3px 4px,5px 3px}
:is(#album-tabs button.album-cover,.album-cover-preview)[data-cover-style=gallery]::after{display:none}
[data-layout=gallery] .album-style-mini::after{display:none}
:is(#album-tabs button.album-cover,.album-cover-preview)[data-cover-style=window]::after{top:53px;opacity:.17}
@media(max-width:600px){:is(#album-tabs button.album-cover,.album-cover-preview){flex-basis:136px;width:136px;height:184px;min-height:184px;max-height:184px;padding:18px 15px 18px 24px}:is(#album-tabs button.album-cover,.album-cover-preview) strong{font-size:16px}}

.album-cover-footer{display:flex;flex-direction:column;gap:6px;flex:none;width:100%}.album-cover-caption{font-size:9px;line-height:1.4;letter-spacing:.02em;overflow-wrap:anywhere;white-space:normal}.album-cover-caption[hidden]{display:none}.album-name-design label[for=album-caption]{display:block;margin-top:16px}:is(#album-tabs button.album-cover,.album-cover-preview):has(.album-cover-caption:not([hidden])) strong{-webkit-line-clamp:2;margin:6px 0}

.album-public-controls{margin-top:24px;padding-top:20px;border-top:1px solid #8885}.album-public-controls p{font-size:14px;line-height:1.7}
.album-public-controls #album-public-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;font:inherit;font-size:12px;line-height:1.5;border:1px solid #8887;border-radius:5px;background:transparent;color:inherit;cursor:pointer}
.album-public-controls #album-public-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.album-public-controls #album-public-toggle svg{flex:none}
.album-public-controls #album-public-note{font-size:12px;line-height:1.8;margin:0 0 12px;opacity:.75}
.album-public-controls #album-public-status{font-size:12px;line-height:1.8;margin:10px 0 0}
.album-public-controls #album-public-status:empty{display:none}
.album-share-intro{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:end;margin:22px 0 26px}
#album-share-cover{min-width:0}
#album-share-cover .album-cover-preview{margin:0}
.album-share-meta{min-width:0;padding-bottom:3px}
.album-share-meta #album-share-count{margin:0 0 20px;font-size:12px;line-height:1.7;opacity:.75}
.album-share-meta #album-share-count strong{font-weight:400}
.album-share-meta label{font-size:12px}
@media(max-width:600px){.album-share-intro{grid-template-columns:136px minmax(0,1fr);gap:20px}}
@media(max-width:400px){.album-share-intro{grid-template-columns:1fr;gap:16px}.album-share-meta{width:100%}.album-share-meta #album-share-count{margin-bottom:10px}}

.album-cover-author{font-size:9px;line-height:1.4;opacity:.8;overflow-wrap:anywhere}.album-cover-author[hidden]{display:none}.album-name-design label[for=album-author]{display:block;margin-top:14px}
