:root{color:#24211d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f8f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{border:0}.app-shell{background:linear-gradient(145deg,#ffcc5933,#0000 34%),linear-gradient(#f7fbf2 0%,#f9f3e8 52%,#eef8f4 100%);grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:stretch;gap:28px;min-height:100vh;padding:36px;display:grid}.decision-panel,.result-area{width:100%}.decision-panel{flex-direction:column;justify-content:center;min-width:0;display:flex}.brand-row{color:#26372f;background:#ffffffd1;border:1px solid #2d443924;border-radius:999px;align-items:center;gap:10px;width:fit-content;min-height:46px;padding:8px 16px 8px 8px;font-weight:800;display:inline-flex;box-shadow:0 10px 30px #31453414}.brand-mark{place-items:center;width:32px;height:32px;display:inline-grid}.brand-mark svg,.empty-state svg,.shaker svg{width:100%;height:100%}.headline-block{max-width:760px;margin-top:34px}.eyebrow{color:#b95035;margin:0 0 14px;font-weight:900}h1{color:#1f1a16;letter-spacing:0;overflow-wrap:anywhere;max-width:780px;margin:0;font-size:62px;line-height:1.04}.intro{color:#5d635e;max-width:600px;margin:22px 0 0;font-size:19px;line-height:1.7}.mode-switch{background:#ffffffb8;border:1px solid #2d443924;border-radius:10px;grid-template-columns:repeat(2,minmax(110px,1fr));gap:6px;width:fit-content;margin-top:28px;padding:5px;display:grid}.mode-switch button,.radius-options button{color:#4e544f;cursor:pointer;background:0 0;border-radius:8px;min-height:40px;padding:0 14px;font-weight:800;transition:background .16s,color .16s,transform .16s}.mode-switch button.active,.radius-options button.selected{color:#fffaf2;background:#2f7f64}.control-block,.custom-editor{max-width:740px;margin-top:20px}.control-title{color:#4c5750;margin:0 0 10px;font-weight:900}.radius-options{flex-wrap:wrap;gap:8px;display:flex}.radius-options button{background:#ffffffc7;border:1px solid #2d443924}.custom-editor{background:#ffffffb8;border:1px solid #2d443924;border-radius:8px;gap:14px;padding:16px;display:grid}.group-selector-row,.inline-form,.panel-heading,.save-row,.saved-shop-item{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.group-selector-row,.panel-heading,.save-row,.saved-shop-item{align-items:center}.group-selector-row,.saved-shop-item{grid-template-columns:minmax(0,1fr) auto auto}.group-selector-row span,.save-row span{color:#667069;font-size:13px;font-weight:900}.group-management,.nearby-save-panel,.saved-shop-panel{gap:10px;display:grid}.nearby-save-panel{gap:12px}.nearby-save-panel,.saved-shop-panel{border-top:1px solid #2d44391f;padding-top:14px}.nearby-list-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.shop-count-pill{color:#405047;white-space:nowrap;background:#f5f8f2;border:1px solid #2d44391f;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.panel-heading h2,.saved-shop-panel h2{color:#34433b;margin:0;font-size:17px}.nearby-shop-list,.saved-shop-list{gap:6px;max-height:460px;padding-right:2px;display:grid;overflow:auto}.saved-shop-list{max-height:300px}.nearby-shop-option,.saved-shop-item{background:#fff;border:1px solid #2d44391f;border-radius:8px;padding:9px 10px}.nearby-shop-option{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.nearby-shop-content,.saved-shop-item span{gap:4px;min-width:0;display:grid}.shop-row-meta{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.shop-row-meta small{color:#405047;white-space:nowrap;background:#eef6ef;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.nearby-shop-content strong,.saved-shop-item strong{color:#283730;overflow-wrap:anywhere}.nearby-shop-content small,.saved-shop-item small,.muted-line{color:#6b746e;font-size:13px;line-height:1.5}label{color:#59635e;gap:6px;font-size:13px;font-weight:800;display:grid}input,select{color:#24211d;background:#fffefb;border:1px solid #2d443929;border-radius:8px;outline:none;width:100%;min-height:42px;padding:0 12px}input[type=checkbox]{accent-color:#2f7f64;width:18px;height:18px;min-height:18px;margin:2px 0 0;padding:0}input:focus,select:focus{border-color:#2f7f64;box-shadow:0 0 0 3px #2f7f6424}.inline-form button,.group-selector-row button,.panel-heading button,.save-row button,.saved-shop-item button{color:#fffaf2;cursor:pointer;white-space:nowrap;background:#2f7f64;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 12px;font-weight:900;display:inline-flex}.inline-form button:disabled,.group-selector-row button:disabled,.panel-heading button:disabled,.save-row button:disabled{cursor:not-allowed;opacity:.5}.inline-form .ghost-danger,.saved-shop-item .icon-danger{color:#8c3b2e;background:#fff1ed}.form-message{color:#2f7f64;margin:0;font-size:13px;font-weight:900;line-height:1.5}.form-message.error{color:#9b3b2e}.action-row{flex-wrap:wrap;gap:14px;margin-top:26px;display:flex}.primary-button,.secondary-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:0 22px;font-weight:900;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.primary-button{color:#fffaf2;background:#df5e42;box-shadow:0 12px 28px #b2482f40}.secondary-button{color:#313b35;background:#ffffffdb;border:1px solid #2d443924}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.mode-switch button:hover,.radius-options button:hover,.radius-options button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.62}.privacy-note{color:#68716c;max-width:620px;margin:18px 0 0;font-size:14px;line-height:1.6}.result-area{align-content:center;gap:16px;display:grid}.status-strip{color:#435249;background:#ffffffb8;border:1px solid #2d443924;border-radius:8px;justify-content:space-between;gap:12px;padding:12px 14px;font-size:14px;font-weight:900;display:flex}.shop-card,.empty-state,.draw-ceremony,.candidate-list{background:#ffffffdb;border:1px solid #2d443924;border-radius:8px;box-shadow:0 24px 54px #32403521}.shop-card,.empty-state,.draw-ceremony{min-height:350px}.shop-card{flex-direction:column;justify-content:space-between;padding:28px;display:flex}.card-topline{color:#667069;justify-content:space-between;align-items:center;gap:12px;font-weight:900;display:flex}.tag{color:#fff;background:#2f7f64;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:14px;display:inline-flex}.shop-card h2{color:#201b16;letter-spacing:0;overflow-wrap:anywhere;margin:34px 0 0;font-size:42px;line-height:1.15}.address{color:#606862;align-items:flex-start;gap:8px;margin:18px 0 0;line-height:1.6;display:flex}.address svg{color:#df5e42;flex:none;margin-top:3px}.navigation-link{color:#fffaf2;background:#2f7f64;border-radius:8px;align-items:center;gap:8px;width:fit-content;min-height:44px;margin-top:20px;padding:0 14px;font-weight:900;text-decoration:none;transition:transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 12px 24px #2f7f6433}.navigation-link:hover{transform:translateY(-1px);box-shadow:0 16px 30px #2f7f643d}.meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:34px;display:grid}.meta-grid span{color:#334139;text-align:center;overflow-wrap:anywhere;background:#eff7ef;border-radius:8px;place-items:center;min-height:50px;padding:8px;font-size:14px;font-weight:900;display:grid}.empty-state,.draw-ceremony{color:#5f6963;text-align:center;align-content:center;place-items:center;gap:18px;padding:28px;display:grid}.empty-state svg{width:52px;height:52px}.empty-state p,.draw-ceremony p,.message{margin:0;line-height:1.7}.draw-ceremony strong{color:#201b16;overflow-wrap:anywhere;max-width:90%;font-size:30px;line-height:1.2}.draw-stage{place-items:center;width:150px;height:132px;display:grid;position:relative}.shaker{z-index:2;width:86px;height:86px;animation:.15s ease-in-out infinite shake,2.6s ease-out both tense-lift;position:relative}.fortune-stick{z-index:1;color:#8c3b2e;background:linear-gradient(#fff6e5 0%,#ffd980 100%);border:2px solid #b84a3180;border-radius:999px 999px 12px 12px;place-items:start center;width:38px;height:118px;padding-top:13px;animation:2.6s cubic-bezier(.2,.82,.22,1) both fortune-rise;display:grid;position:absolute;top:4px;left:50%;transform:translate(-50%)translateY(48px)rotate(4deg);box-shadow:0 14px 24px #6c3e2429}.fortune-stick span{writing-mode:vertical-rl;letter-spacing:0;font-size:13px;font-weight:900}.draw-stick{transform-origin:50% 100%;background:#ffcc59;border-radius:999px;width:8px;height:42px;position:absolute;top:-10px;left:50%}.stick-a{transform:translate(-50%)rotate(-18deg)}.stick-b{transform:translate(-50%)rotate(0)}.stick-c{transform:translate(-50%)rotate(18deg)}.draw-kicker,.draw-hint{font-weight:900}.draw-preview{place-items:center;min-height:72px;padding:0 12px;animation:.42s ease-in-out infinite name-pulse;display:grid}.draw-meter{background:#eef0e7;border-radius:999px;width:min(320px,82%);height:9px;overflow:hidden}.draw-meter span{border-radius:inherit;background:linear-gradient(90deg,#2f7f64 0%,#ffcc59 55%,#df5e42 100%);height:100%;animation:2.6s cubic-bezier(.22,.72,.2,1) both draw-meter-fill;display:block}.draw-hint{color:#b95035}.candidate-list{padding:18px}.candidate-list h3{color:#35443b;margin:0 0 12px;font-size:18px}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.candidate-grid span{color:#334139;overflow-wrap:anywhere;background:#f3f5ee;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:9px 10px;font-weight:800;display:flex}.candidate-grid small{color:#7a817b;flex:none}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:rotate(-4deg)translateY(0)}50%{transform:rotate(5deg)translateY(-2px)}}@keyframes tense-lift{0%,76%{filter:drop-shadow(0 10px 14px #3145341a)}88%{filter:drop-shadow(0 18px 20px #3145342e)}to{filter:drop-shadow(0 12px 16px #3145341f)}}@keyframes fortune-rise{0%,68%{opacity:0;transform:translate(-50%)translateY(48px)rotate(4deg)}82%{opacity:1;transform:translate(-50%)translateY(-18px)rotate(-5deg)}to{opacity:1;transform:translate(-50%)translateY(-6px)rotate(-2deg)}}@keyframes name-pulse{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-1px)scale(1.018)}}@keyframes draw-meter-fill{0%{width:12%}62%{width:72%}86%{width:91%}to{width:100%}}@media (width<=980px){.app-shell{grid-template-columns:1fr;align-items:start;padding:28px 18px}.decision-panel{justify-content:start}h1{font-size:46px}.shop-card,.empty-state,.draw-ceremony{min-height:300px}}@media (width<=620px){.app-shell{width:100%;padding:22px 14px;overflow-x:hidden}h1{padding-bottom:4px;font-size:32px;line-height:1.14}.headline-block,.control-block,.custom-editor,.result-area{max-width:100%}.mode-switch,.primary-button,.secondary-button{width:100%}.group-selector-row,.inline-form,.panel-heading,.nearby-list-toolbar,.save-row,.saved-shop-item,.meta-grid,.candidate-grid{grid-template-columns:1fr}.nearby-shop-option{grid-template-columns:auto minmax(0,1fr)}.shop-row-meta{grid-column:2;justify-content:flex-start}}
